操作系统 
首页 > 操作系统 > 浏览文章

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

(编辑:jimmy 日期: 2024/11/28 浏览:3 次 )

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盘上,重启系统,就可以引导系统了.

上一篇:Linux系统下安装Bugzilla来追踪程序开发中的bug
下一篇:VMware安装RedHat Linux系统时出现该光盘无法被挂载错误怎么办?
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 网站地图 SiteMap