在USB磁盘上制作Linux的GRUB引导的方法

   GNU GRUB(GRand Unified Bootloader简称“GRUB”)是一个来自GNU项目的多操作系统启动程序。GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。

  由硬盘启动时,BIOS通常是转向第一块硬盘的第一个扇区,即主引导记录(MBR)。

  装载GRUB和操作系统的过程,包括以下几个操作步骤:

  装载记录——基本引导装载程序所做的唯一的事情就是装载第二引导装载程序。

  装载Grub——这第二引导装载程序实际上是引出更高级的功能,以允许用户装载一个特定的操作系统。

  装载系统——如linux内核。GRUB把机器的控制权移交给操作系统。

  不同的是,微软操作系统都是使用一种称为链式装载的引导方法来启动的,主引导记录仅仅是简单地指向操作系统所在分区的第一个扇区。

  许多发行版本都支持usb启动,那我们自己可不可以作一个usb启动的工具盘呢,答案是肯定的!

  首先作以下假定

  usb 设备是 /dev/sdb

  usb盘挂载点 /mnt/usbdisk

  下面我们就简单说下 grub 引导器安装到usb盘上的步骤

  确定usb 盘的位置, 一般为 /dev/sdb

  代码如下:

  [root@localhost]# fdisk -l

  使用以下命令清除mbr引导字节

  代码如下:

  [root@localhost]# dd if=/dev/zero of=/dev/sdb bs=512 count=1

  使用 syslinux 中的 mbr.bin 加载到usb盘上

  代码如下:

  [root@localhost]# locate mbr.bin

  [root@localhost]# cat /somepath/share/syslinux/mbr.bin > /dev/sdb

  使用fdisk对usb盘进行分区, 类似结果如下 :

  代码如下:

  Device Boot Start End Blocks Id System

  /dev/sdb1 * 1 1018 993537+ 83 Linux

  在分区上创建ext3文件系统,并且挂在usb盘

  代码如下:

  [root@localhost]# mkfs.ext3 /dev/sdb1

  [root@localhost]# mkdir -p /mnt/usbdisk

  [root@localhost]# mount /dev/sdb1 /mnt/usbdisk

  安装GRUB boot loader到usb盘上

  代码如下:

  [root@localhost]# grub-install --no-floppy --root-directory=/mnt/usbdisk /dev/sdb

  创建grub.conf配置文件

  代码如下:

  [root@localhost]#

  cat > /mnt/usbdisk/boot/grub/grub.conf << EOF

  title Usb linux

  root (hd0,0)

  kernel /boot/kernel-xxxx root=/dev/sda1 ro

  initrd /boot/initrd-xxxx.img

  EOF

  将kernel和initrd 拷贝到usb盘上,重启系统,就可以引导系统了.

时间: 2024-10-29 00:17:02

在USB磁盘上制作Linux的GRUB引导的方法的相关文章

在VMware上制作一个简单的Linux

大体思路 boot root initrd.gz grub vmlinuz-2.6.18-308.el5 bin sbin lib etc proc sys dev boot   有以上内容我们就可以运行一个非常简单的Linux,只需要往里面添加各种配置文件,就可以启动我们所需要的各种服务.在制作之前,我们先做一些准备工作. 1.在VMware上添加一块新的IDE磁盘 2.将这块盘分区,/dev/hdb1 /dev/hdb2,之后格式化为ext3的文件系统 3.挂载/dev/hdb1到/mnt/

通过Linux系统将Windows系统迁移到到新的磁盘上

  1. 概述 这篇文章将告诉你如何再 linux 系统下,将 安装好的windows版本 复制到新的磁盘上(新的磁盘大于等于window镜像大小) 2. 使用到的工具 livecd 工具,可以是CD 也可以是USB启动的 ,需要有的工具 dd, fdisk, and ntfsresize. 此例子中,使用如下假设: /dev/sdc (新硬盘) /dev/sdb (老硬盘,安装好的window版本数据在 /dev/sdb1 分区中) = 格式化新盘(/dev/sdc) = 使用root 用户,

【ARM】制作Linux 文件系统

1从零开始由busybox 建立文件系统 1文件系统在LINUX 中的结构图 2编译好kernel 3Uboot 状态下显示的环境设置信息 4开始busybox 生成文件系统 5完善文件系统 第一步 init 会调用etcinittab 文件并根据其做相应的操作 第二步可以手工做些设置 第三步play MP3 第四步添加Login 修改inittab 为 创造文件rcS 2Linux 文件系统结构 1ext2 文件系统的总体存储布局 11Block 12Boot block 13Block Gr

数据在磁盘上是如何布局的

做存储和计算机架构的研发人员需要深入理解数据在磁盘上的分布,只有这样当系统出现故障的时候才能手动进行系统恢复.目前,磁盘的容量越来越大,故障率越来越高,当故障发生之后需要对磁盘数据进行恢复,磁盘数据的恢复不仅要了解分区等基本的磁盘数据布局,而且需要知道文件系统在磁盘上的数据分布.这里首先讨论分区等系统基本数据在磁盘上的分布. 分区 DOS分区 DOS分区是目前常用的一种分区方式,其磁盘数据分布描述如下: 第一个扇区是主引导分区MBR,MBR描述了磁盘分区的结构,MBR的内容包括引导代码和分区表信

在U盘上安装Linux系统解决方案

  在U盘上安装Linux系统解决方案 作为一名IT菜鸟,用PE维护系统已经满足不了我的需求,把windows装进U盘又太俗,只能把目光转向Linux了. 大致从网上搜索了一下教程,尽是些N年前老掉牙的教程.别的不说,那个麻烦劲就让人吐了. 时代在发展,科技在进步,其实简单的方法早就有了,虽然网上也有一些,但是并不全面,造成很多问题.现在,本小菜把它总结出来. www.2cto.com 准备工作: | Unetbootin http://dl.dbank.com/c0j5a8kuom:Linux

易数一键还原怎么制作usb启动盘制作工具?

易数一键还原怎么制作usb启动盘制作工具? 易数一键还原是一款系统备份与还原软件,易数一键还原支持增量备份与多时间点还原,全中文傻瓜式向导界面,简单易用而又功能强大,全面超越ghost及以 ghost为核心二次开发的系统备份与还原软件.除此之外还能进行usb启动盘制作,有需要用到启动盘的朋友,又不会制作的话,可以请看下文,介绍易数一键还原usb启动盘制作教程. 1. 点击菜单中的"制作易数一键还原USB装机启动盘"选项. 2. 在弹出此功能对话框中,选择要制作启动的优盘,并且设置还原条

如何在MacBook Pro Retina上安装Linux

如何在MacBook Pro Retina上安装Linux MacBook Pro拥有非常强大的配置,但是有些人想强上加强,他们想用Linux系统. 不管您是想要更开放和个性化的操作系统又或者是您只想要使用某些在Linux特有的软件,您都会想要在您的MacBook上安装Linux. 可惜的是MacBook Pro们可是一块块密不透风砖头,让您想装其他系统又无从下手.尤其是Linux,比在MacBook上装Windows还难. Boot Camp对于Linux来说也没有什么用处. 虽然如此,但并不

兼谈在Win8上安装Linux

一.自由软件基金会的呼吁 上周,2012年将近结束的时候,自由软件基金会(FSF)发出呼吁,要求人们继续支持反Secure Boot垄断,希望签名者能达到5万人(目前是4万).我觉得,这个呼吁很重要.如果我们不支持,未来就无法自由地使用硬件.安装自己想要的软件. 这绝非危言耸听.而且,由于这个事件直接与Windows 8操作系统有关,因此意味着一切已经迫在眉睫了. 下面,我根据自己的理解,谈谈这到底怎么回事.如果你是一个Linux爱好者,或者喜欢自己安装操作系统,下面的内容与你直接相关. 二.B

linux-LINUX内核usb驱动,如何知道数据正在USB接口上传输(包括读写)?

问题描述 LINUX内核usb驱动,如何知道数据正在USB接口上传输(包括读写)? 开始数据传输必调用的内核函数是哪个? 数据传输结束必调用的内核函数是哪个? 另外我想在开始和结束的时候做标记,吐一个信息到/tmp/dataTransferSymbol; 或者吐到系统日志也行,设备运行过程中使用dmesg能看到数据传输标志,怎么实现呢? 请高手赐教.谢谢.