grub2 设置启动引导 Fedora 21 Workstation Live iso

来源:互联网 发布:永恒之塔模拟器源码 编辑:程序博客网 时间:2024/06/07 15:40

通过grub2引导iso文件的方式,不需要刻录光碟,直接引导硬盘或U盘中的iso文件。本文介绍U盘引导 Fedora-Live-Workstation-x86_64-21-5.iso的grub2设置及方法。该方法同样适合于从引导硬盘中的 iso 文件,只需要将 uuid 的值修改为对应的值便可。

Fedora-Live-Workstation-x86_64-21-5.iso是最新一版的 Fedora系统正式发行版。朋友们可以到各大开源镜像站去下载此文件。该文件提供了一个 Fedora 21 版的 Live iso。也就是说,引导了该文件,便启动了 Fedora 21 系统。

一、U盘引导

一.1、U盘安装 grub2 (已经在U盘安装了 grub2 的可以跳过这个步骤)

将grub2安装到U盘,需要首先确保第一分区的起点在2048。

$ sudo fdisk -lDisk /dev/sdb: 3.7 GiB, 3974103040 bytes, 7761920 sectors单元:扇区 / 1 * 512 = 512 字节扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0xccd4ebea设备      启动    起点    末尾     块  标识 系统/dev/sdb1 *         2048   7761919 3879936     c W95 FAT32 (LBA)


这个U盘只有一个分区,且起点在2048,并且带有启动标志(即分区已被激活),符合要求。可以在该U盘上安装grub2。如果不符合要求,请使用 fdisk 重新分区。这里不讲分区及激活的方法。

安装的方法是:

Fedora Centos 等

$ sudo grub2-install --no-floppy --root-directory=/run/media/user/mutiboot /dev/sdb

Archlinux Debian Ubuntu 等

$ sudo grub-install --no-floppy --root-directory=/run/media/user/mutiboot /dev/sdb

这里/run/media/user/mutiboot是u盘的挂载点,/dev/sdb是u盘设备,这两处需要根据实际情况修改。安装成功会显示成功的信息,并且在u盘中会有/boot/grub2(或/boot/grub)目录。

一、2、设置引导

将 Fedora-Live-Workstation-x86_64-21-5.iso 复制到U盘根目录。编辑修改 grub.cfg 文件如下(以Fedora为例):

#引导菜单显示的时间set timeout=5#分区格式,这里是fat32格式,如果是ext4格式设置为ext2,如果是其它格式请设置为对应的格式insmod fat#默认启动菜单项set default=0loadfont /boot/grub2/fonts/unicode.pf2#启动分辨率set gfxmode=1024x768set gfxpayload=keepinsmod gfxterminsmod vbeinsmod loopbackinsmod iso9660terminal_output gfxterminsmod jpeg#grub2背景图片,根据你的需要修改background_image /boot/W0201407.jpgsetmenu_color_normal=white/blacksetmenu_color_highlight=black/light-grayset USBUUID="CE23-8646"menuentry "Fedora 21 Live Workstation (64 bit)" {    set isoname="Fedora-Live-Workstation-x86_64-21-5"    set isofile="/${isoname}.iso"    search --no-floppy --fs-uuid --set=root ${USBUUID}    loopback loop $isofile    linux (loop)/isolinux/vmlinuz0 iso-scan/filename=${isofile} root=live:CDLABEL=Fedora-Live-WS-x86_64-21-5 rootfstype=auto ro rd.live.image quiet  rhgb rd.luks=0 rd.md=0 rd.dm=0    initrd (loop)/isolinux/initrd0.img}menuentry "启动第一存储器主引导记录 " {set root=(hd0)chainloader +1}menuentry "启动第二存储器主引导记录 " {set root=(hd1)chainloader +1}menuentry "重启"{reboot}menuentry "关机"{halt}

注:set USBUUID="" 项需要根据实际值修改,查看该值的方法是命令:ls -l /dev/disk/by-uuid/

二、硬盘引导

grub2 的硬盘引导设置,通过修改 /etc/grub.d/40_custom 然后运行 grub2-mkconfig ( grub-mkconfig )来配置(需要管理员权限)。

二、1、修改 40_custom 文件

将THEUUID的值设置为存放 iso 文件的分区的正确 uuid。下面是其中一个能够正确引导的例子,该例以 iso 文件放置在分区的 iso 子文件夹为例(注意对应的分区格式):

insmod ext2insmod loopbackinsmod iso9660set THEUUID="4815cd78-fd9f-488f-8ee9-225e305ffb18"menuentry "Fedora 21 Live Workstation (64 bit)" {set isoname="Fedora-Live-Workstation-x86_64-21-5"set isofile="/iso/${isoname}.iso"search --no-floppy --fs-uuid --set=root ${THEUUID}loopback loop /$isofilelinux (loop)/isolinux/vmlinuz0 iso-scan/filename=${isofile} root=live:CDLABEL=Fedora-Live-WS-x86_64-21-5 rootfstype=auto ro rd.live.image quiet  rhgb rd.luks=0 rd.md=0 rd.dm=0initrd (loop)/isolinux/initrd0.img}

二、2、运行 grub2-mkconfig

Fedora Centos 等

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Archlinux Debian Ubuntu 等

sudo grub-mkconfig -o /boot/grub/grub.cfg
0 0