GRUB(Grand unified bootloader)是一个开源的、多操作系统引导程序。它被广泛用作Linux系统的启动程序,可以在多个操作系统之间切换引导。在同一计算机上存在多个操作系统时,需要配置GRUB以保证各个操作系统正确地引导。本攻略将讲解Linux多系统并存时,对GRUB配置文件内容的分析过程。
- 确认系统分区情况
在进行GRUB配置文件的编辑之前,必须先确认磁盘分区情况。可以使用fdisk 或 parted命令,查看各分区的编号及挂载点。
例如,命令fdisk -l可以列出所有磁盘分区的详细信息。
```
Disk /dev/sda: 457.8 GiB, 492581078016 bytes, 963470576 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: B8C11EB5-5E61-44B5-B2DD-729DEA74210A
Device Start End Sectors Size Type
/dev/sda1 2048 1050623 1048576 512M EFI System
/dev/sda2 1050624 211181567 210131944 100.2G Linux filesystem
/dev/sda3 211181568 854974415 643792848 307.4G Linux filesystem
/dev/sda4 854974416 963467775 108493360 52G Linux swap
```
- 编辑GRUB配置文件
GRUB的配置文件通常位于/boot/grub/menu.lst 或 /boot/grub/grub.cfg。修改该文件时,需要使用root权限,推荐使用vim或nano编辑器。
2.1 设置默认系统
当计算机重启时,默认启动哪个操作系统至关重要。可以通过修改GRUB配置文件中的default条目来更改默认引导的操作系统。
在配置文件中找到default行,将其值更改为想要启动的操作系统的编号,该编号是从0开始的选项列表中的位置。例如,将default设置为2将引导第三个操作系统,编号为2。
default 2
2.2 设置超时时间
GRUB配置文件包含timeout行,它控制默认引导系统之前的等待时间(以秒为单位)。如果不希望等待任何时间,请将该值设置为0。
timeout 5
2.3 添加新系统
如果计算机新安装了操作系统,则需要在GRUB配置文件中添加新系统。要添加新的GRUB菜单选项,请先切换到根目录,并在/boot/grub/目录下执行以下命令:
grub-mkconfig -o /boot/grub/grub.cfg
该命令会自动检测已安装的操作系统,并向GRUB配置文件中添加新的条目。可以在文件末尾查看新添加的内容。
End of file
如果想手动添加一个新的菜单项,则需要在GRUB配置文件中添加以下内容:
menuentry "New OS" {
set root='(hd0,1)' # 设置引导分区 root 设备
chainloader +1 # 启动引导程序
}
这里,“New OS”是新安装的操作系统的名称;(hd0,1)是根目录的物理设备;+1意味着GRUB将从该分区中的最新引导程序启动。
实例代码:
menuentry 'New Operating System' {
insmod part_msdos
insmod ext2
set root='(hd0,msdos3)'
linux /boot/vmlinuz-4.4.0-21-generic root=/dev/sda3 ro quiet splash
initrd /boot/initrd.img-4.4.0-21-generic
}
上述代码中menuentry的语句名称为“New Operating System”,insmod用于加载模块,而set root则指定新安装操作系统的根目录硬盘分区(例如,(hd0,msdos3)指第一个物理硬盘上的第3个MSDOS磁盘分区)。“linux”语句的参数是新系统的内核映像文件和根设备,而“initrd”的参数是内核中用于初始化系统的RAM磁盘映像。
- 保存修改并测试
对于所有修改,一定要保存GRUB配置文件。之后,需要使用以下命令来测试更改是否生效:
grub-mkconfig -o /boot/grub/grub.cfg
该命令重新生成GRUB配置文件,并将其保存到/boot/grub/grub.cfg中。如果没有错误,则已成功修改GRUB配置文件。现在可以重启计算机并测试是否启动正确。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Linux多系统并存的GRUB配置文件内容分析 - Python技术站