
准备开整
基本步骤
步骤一: 格式化U盘
注意点: bios_grub标记的分区
步骤二: 安装grub到U盘
步骤三: 添加grub菜单
参考文献
前言: 生命不息,折腾不止。在折腾中进步,在踩坑中成长。
准备开整
U盘一枚(4G容量以上,备份好数据,一会可能要重新格式化)
可用的任意 *** 作系统,64位(32位就不要折腾UEFI了)
UEFI 与 ESP 预备知识,限于篇幅就不详细介绍了,自己看文档原理
USB启动的原理就不多做讲解了,有兴趣的话找找相关的文档,介绍很多,也很详细,跟硬盘引导过程差不多。注意的是BIOS+MBR模式和UEFI+GPT模式是不同的。
基本步骤
先说一下我的环境,金士顿16G U盘一个, *** 作系统是Deepin 2014.3 64bit,基于Ubuntu 14.04,其他类似的系统可以类比。Linux系统本来就使用grub引导(不要在CentOS/RHEL 6及以下版本折腾了,那个是Grub Legacy,已经不维护了),折腾起来要比其他 *** 作系统方便的多,软件仓库就有grub相关的软件包,也不需要单独安装太多东西。Windows下可以用 grub2win ,原理是一样的。
步骤一: 格式化U盘
想要支持UEFI引导,GPT是不可少了,而且GPT是兼容MBR了。所以第一步需要先将U盘格式化为GPT分区,这样efi文件可以和MBR共存,实现UEFI和BIOS双支持。
如果U盘已经是
Linux下支持GPT分区的工具: parted, gdisk。大致的步骤就是使用gdisk(命令和 *** 作方式几乎和fdisk完全一样,只是支持GPT),或parted对U盘重新分区,然后标记ESP。如果用gdisk,只要给分区标记EF00编号即可,如果用parted,给分区boot标记即可。命令行就不演示了,很简单,我这边截图使用图形化工具gparted分区,同样结果也是GPT分区。
图形化的gparted *** 作也很简单,建立GPT分区表,分区,格式化为FAT32( 注: 尽管ESP支持多种分区,但是为了通用性与兼容性还是建议FAT32 ),标记分区为boot
Grub 2的内核是符合multiboot标准的,因此可以在Grub中引导。
1、下载
解压到某个FAT分区的根目录,会生成/boot/grub目录,Grub 2的文件便在该目录下。
2、修改
/boot/grub/grub.cfg
这是Grub 2的配置文件,它的格式不同于menu.lst,以下是一个例子:
set timeout=20
set default=0
menuentry Chainload First Part {
set root=(hd0,1)
chainloader +1
}
menuentry Load Linux at Second Part {
set root=(hd0,2)
linux /vmlinuz root=/dev/hda2
initrd /initrd
}
如果你熟悉Grub,应该可以看明白里面的内容。要注意的是:
a、timeout, default等参数用变量来储存
d、菜单项由menuentry定义
c、第1个分区是(hd0,1)而不是(hd0,0)
d、当前支持的启动方式是chainload,linux和multiboot
3、在Grub中使用以下的命令进入Grub2
root (hd0,0)
kernel /boot/grub/core.img
boot
(hd0,0)请用存放Grub2的分区的名字来代替
4、进入Grub 2后,在菜单界面下输入 c 便可进入控制界面。
1、首先在VMWare或VirtualBox中执行update-grub命令,如果是双系统或者三系统,那么将看到GRUB以及其他 *** 作系统入口。
2、接着在/etc/default/grub里的GRUB_BACKGROUND行找到在/boot/grub/里的第一个图像,使用Kali Linux GRUB启动图像,启动之后检查.png属性。
3、然后找到/etc/alternatives/desktop-grub符号连接,检查/etc/alternatives/desktop-grub的属性,它指向上面的.png文件。
4、接着检查/usr/share/images/desktop-base/kali-grub.png的属性,以确保下载相同类型和大小的文件,使用PNG, JPG/JPEG以及TGA类型的图像文件作为GRUB 2的背景。
5、然后安装desktop-base软件包,符合规范的图像将放在/usr/share/images/desktop-base/目录中。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)