接着昨天
链接地址:使用grub2制作多重启动盘(上)
上一篇文章写到了,安装传统BIOS启动,昨天有点遗漏,需要注意的是,我写的--boot-directory=h:\boot\bios
,这里的h:
是我的U盘在这台电脑上的实际盘符。那么接下来开始支持efi
的grub2的安装。
64位efi
注意,使用管理员权限打开命令行,使用cd命令到grub目录下,然后输入命令如下:
grub-install.exe --removable --target=x86_64-efi --efi-directory=h: --boot-directory=h:\boot --bootloader-id=Grub --modules="part_gpt part_msdos disk fat exfat ext2 ntfs appleldr hfs iso9660 normal search_fs_file"
只要后面没有报错,一般来说就成功了。h:
是我的U盘的实际盘符。
我这个是已经做成功的,grub.cfg是自己创建的,名字必须是这个。同时在efi/boot
命令下生成BOOTX64.EFI文件。
32位efi
同样,执行命令就可以安装32位efi:
grub-install.exe --removable --target=i386-efi --efi-directory=h: --boot-directory=h:\boot --bootloader-id=Grub --modules="part_gpt part_msdos disk fat exfat ext2 ntfs appleldr hfs iso9660 normal search_fs_file"
上图中的i386-efi
就是。
同时在efi/boot
下生成2个文件,即:BOOTIA32.EFI和grub.efi。
其他
根据以上步骤,已经完成整个步骤的80%,接下来还需要几个文件。
- 在U盘
boot/bios/grub/
目录下面创建grub.cfg文件, 这个就是到时候传统bios启动时的配置文件。 - 在U盘
boot/grub/
目录下面创建grub.cfg文件,这个是UEFI启动时加载的配置文件。 - 将grub-2.02-for-windows目录下面的unicode.pf2复制到U盘的
boot/bios/grub/fonts
和boot/grub/fonts
目录下。这个是字体文件。 - 将
grub-2.02-for-windows/locale/zh_CN
目录下面的grub.mo文件复制到boot/bios/grub/locale
和boot\grub\locale
目录下,并改名为zh_CN.mo
grub.cfg
由于我也不是太熟悉grub的一些语法,我就把我的支持efi启动的,也就是boot/grub/
目录下的grub.cfg文件贴出来。它可以正常启动Fedora的LiveCD映像,因为我已经重新安装Fedora系统了,并且开始搞项目了。建议grub.cfg文件用VS code打开,因为有语法高亮,其他的如sublime,notepad++没有高亮。
#默认启动第一个菜单项
set default=0
#如果第一个菜单项启动失败,转而启动第二个菜单项
set fallback=1
#优先使用最常规的1024x768分辨率,以保证在不同的屏幕上拥有一致的菜单效果,如果失败再自动匹配分辨率
set gfxmode=1024x768,auto
#将GRUB2设置为简体中文界面
set locale_dir=/boot/grub/locale
set lang=zh_CN
#每一满屏后暂停输出,以免信息太多一闪而过看不清
set pager=1
#设置菜单的超时时间为10秒
set timeout=10
#两种最流行的磁盘分区格式
insmod part_gpt
insmod part_msdos
#常见文件系统驱动
insmod btrfs
insmod exfat
insmod ext2
insmod fat
insmod iso9660
insmod jfs
insmod ntfs
insmod reiserfs
insmod udf
insmod xfs
insmod zfs
#一次性加载所有可用的视频驱动
insmod all_video
#图形模式终端
insmod gfxterm
#背景图片支持
insmod png
#激活图形模式的输出终端,以允许使用中文和背景图
terminal_output gfxterm
#加载unicode字体
loadfont /boot/grub/fonts/unicode.pf2
#设置背景图片
background_image /boot/16.png
#颜色
set color_normal=white/black
set color_highlight=white/cyan
set USBUUID="64ED-EC79"
if search --file --set --no-floppy /iso/LiveCD/Fedora-MATE_Compiz-Live-x86_64-27-1.6.iso ; then
menuentry 'Fedora 27 MATE LiveCD'{
loopback loop0 /iso/LiveCD/Fedora-MATE_Compiz-Live-x86_64-27-1.6.iso
linux (loop0)/isolinux/vmlinuz rd.live.image root=live:CDLABEL=Fedora-MATE-Live-27-1-6 iso-scan/filename=/iso/LiveCD/Fedora-MATE_Compiz-Live-x86_64-27-1.6.iso rootwait locale.LANG=zh_CN.utf8 inst.lang=zh_CN.UTF-8
initrd (loop0)/isolinux/initrd.img
}
fi
if search --file --set --no-floppy /iso/LiveCD/Fedora-KDE-Live-x86_64-27-1.6.iso ; then
menuentry 'Fedora 27 KDE LiveCD'{
loopback loop0 /iso/LiveCD/Fedora-KDE-Live-x86_64-27-1.6.iso
linux (loop0)/isolinux/vmlinuz rd.live.image root=live:CDLABEL=Fedora-KDE-Live-27-1-6 iso-scan/filename=/iso/LiveCD/Fedora-KDE-Live-x86_64-27-1.6.iso rootwait locale.LANG=zh_CN.utf8 inst.lang=zh_CN.UTF-8
initrd (loop0)/isolinux/initrd.img
}
fi
menuentry "Archlinux-2018.01.01 install ISO" {
set isofile="/ISO/DVD/archlinux-2018.01.01-x86_64.iso"
if cpuid; then
set cputype="x86_64";
else set cputype="i686";
fi
loopback loop0 $isofile
linux (loop0)/arch/boot/$cputype/vmlinuz archisolabel=ARCH_201801 img_dev=$imgdevpath img_loop=$isofile earlymodules=loop
initrd (loop0)/arch/boot/$cputype/archiso.img
}
#注意:这个启动PE的选项只能在传统BIOS启动时有效
menuentry 'Boot WePE_64_V2 ISO'{
insmod linux16
search --no-floppy --fs-uuid --set=root ${USBUUID}
linux16 /boot/MEMDISK iso raw
echo 'Loading WINPE ISO...'
initrd16 /ISO/WinPE/WePE_64_V2.0.iso
}
menuentry "启动第一存储器主引导记录 " {
set root=(hd0)
chainloader +1
}
menuentry "启动第二存储器主引导记录 " {
set root=(hd1)
chainloader +1
}
menuentry "重启"{
reboot
}
menuentry "关机"{
halt
}
其中两个Fedora选项是没有错的,archlinux的选项我不确定。
相关下载
我把Qemu启动测试器的源代码也附上,这个软件是无忧论坛的一名大神开发的。
Qemu启动测试器.zip: https://liangz.ctfile.com/fs/15717665-234687492
Q启动测试器Final源码.zip: https://liangz.ctfile.com/fs/15717665-234687506
bootice_2013.1.3.3.zip: https://liangz.ctfile.com/fs/15717665-234687536
如有错误,敬请指出,感谢阅读! —2018-01-22 14:49:23
最新评论
这个软件有bug的,客户端windows有些键不能用如逗号、句号
没有收到邮件通知
我的评论通知貌似坏掉了,定位一下问题
测试一下重新部署后的邮件功能
居然看到自己公司的MIB库,诚惶诚恐
那可能是RobotFramework-ride的版本问题。我装的1.7.4.2,有这个限制。我有空再尝试下旧版本吧,感谢回复。
你好!我在python2.7中安装RobotFramework-ride的时候提示wxPython的版本最高是2.18.12,用pip下载的wxPython版本是4.10,而且我在那个路径下没有找到2
真的太好了,太感谢了,在bilibili和CSDN上都找遍了,终于在你这里找到了