GRUB是什么
简单的说,GRUB 是系统的启动引导程序。我们要启动系统时,需要通过BIOS启动硬盘0扇区的程序引导启动系统内核。从早期的 MBR到如今的UEFI启动类型和GUID分区表 (GPT) 特殊操作。想了解详情自行查阅资料。
准备工作
Linux系统 U盘
开始
首先我们要给U盘分区。通过下面命令查看U盘的挂在情况。
#df -h
或者
#lsblk
如果挂载正常,就可以通过下面命令给U盘分区。(/dev/sdb是我的U盘)
#fdisk /dev/sdb
命令(输入 m 获取帮助): m
帮助:
常规
d 删除分区
F 列出未分区的空闲区
l 列出已知分区类型
n 添加新分区
p 打印分区表
t 更改分区类型
v 检查分区表
i 打印某个分区的相关信息
杂项
m 打印此菜单
x 更多功能(仅限专业人员)
脚本
I 从 sfdisk 脚本文件加载磁盘布局
O 将磁盘布局转储为 sfdisk 脚本文件
保存并退出
w 将分区表写入磁盘并退出
q 退出而不保存更改
新建空磁盘标签
g 新建一份 GPT 分区表
G 新建一份空 GPT (IRIX) 分区表
o 新建一份的空 DOS 分区表
s 新建一份空 Sun 分区表
命令(输入 m 获取帮助):
d删除所有分区,然后o写入DOS分区表,再n添加分区。配置好后w保存退出。
然后格式化U盘分区。命令:
#mkfs.ext4 /dev/sdb1
格式化完成后续优化配置,取消磁盘自检
#tune2fs -c -1 /dev/vdb1
然后挂载U盘,如果U盘无法挂载,可以把分区类型改为Linux filesystem(20类型),挂载后再改回BIOS boot(4类型)。否则GURB安装时会提示错误。
挂载命令
#mkdir -p /mnt/usb
#sudo mount /dev/sdb1 /mnt/usb
- 安装GRUB
#sudo grub-install --force --no-floppy --debug --root-directory=/mnt/usb /dev/sdb
--force 选项启用对 blocklists(块列表)的支持
--debug 显示安装信息
第一个路径挂载的分区路径,第二个路径为U盘的设备路径。
至此我们已经把GRUB安装到了U盘。U盘会多个boot目录 。
可以重启BIOS选U盘启动,正常的话会进入GRUB 命令行。
下一篇说说GRUB配置