我有一个系统,在两个硬盘上有两个版本的 Ubuntu,“Ubuntu桌面第一个是 12.04 英寸(sda1)和“Ubuntu服务器第二个为 12.04 英寸(数据库)。
(先安装桌面版,然后安装服务器版)。
这两个安装都没有单独的启动分区。
都安装了 grub 2。
只有sda1有一个启动标志。
输出自sudo parted -l
:
Model: ATA OCZ-VERTEX2 (scsi)
Disk /dev/sda: 115GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 111GB 111GB primary ext4 boot
2 111GB 115GB 4122MB extended
5 111GB 115GB 4122MB logical linux-swap(v1)
Model: ATA TOSHIBA MK3252GS (scsi)
Disk /dev/sdb: 320GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
4 1049kB 236GB 236GB primary ntfs
2 236GB 290GB 54,5GB primary ext4
1 290GB 320GB 30,0GB primary lvm
默认情况下, (我相信这是意料之中的) 计算机运行安装在服务器版本上的 grub,因为它是最后安装的。
我知道这是正在运行的,因为当我在桌面版本上更新内核时,我必须在服务器上运行“update-grub”才能在 grub 菜单中列出新内核!
我的问题是如何让它默认运行桌面版本的 grub?
当我拔下第二块硬盘(服务器版本)时,收到以下错误消息:
error: no such device .... #(I don't remember the name of the device)
grub rescue>
答案1
您也可以从 Desktop 12.04 实时介质启动并重新安装 Grub。请确保插入了第二个磁盘,然后从终端执行:
sudo grub-install /dev/sda
sudo update-grub
请注意,这是 /dev/sda(末尾没有 1)。
如果您将来添加安装或发行版,您可以通过以下方式将 Grub 与您的第一个安装保持关联:1) 选择不在新安装中安装任何引导加载程序的选项;2) 如果您没有该选项,请选择与新安装相同的分区(这次带有编号)。然后正常启动第一个安装并再次运行 update-grub。如果您忘记并再次将引导加载程序安装到 /dev/sda,您可以随时从实时介质启动并运行上述两个命令。