Grub

如何在 CentOS 上將 Ubuntu 添加到 grub

  • February 22, 2017

要點:我正在嘗試將輔助硬碟驅動器上的 Ubuntu 實例添加到執行 CentOS 的主硬碟驅動器上的 grub。grub 版本是 GNU GRUB 0.97。

主硬碟包含 CentOS release 6.8 (Final), x86_64 Linux 3.8.8。我正在執行的核心的 grub 條目是

title CentOS (3.8.8)
root (hd0,0)
kernel /vmlinuz-3.8.8 ro root=/dev/mapper/vg_sakplab100-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_sakplab100/lv_swap rd_NO_MD rd_LVM_LV=vg_sakplab100/lv_root SYSFONT=latarcyrheb-sun16 crashkernel=128M  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM
initrd /initramfs-3.8.8.img

我得到了另一個裝有 Ubuntu 的硬碟(不確定是哪個版本)。如果我執行fdisk -l輔助硬碟驅動器資訊是:

  Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1          32      248832   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sdb2              32       60802   488134657    5  Extended
Partition 2 does not end on cylinder boundary.
Partition 2 does not start on physical sector boundary.
/dev/sdb5              32       60802   488134656   8e  Linux LVM

掛載 /dev/sdb1 後,我能夠查看 /grub/grub.cfg 文件。儘管我認為相關條目如下(其他條目的標題中有恢復),但有許多菜單項:

menuentry 'Ubuntu, with Linux 4.4.0-31-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-31-generic-advanced-07c9c822-a9c3-4df5-8965-81b5af4e5dff' {
           recordfail
           load_video
           gfxmode $linux_gfx_mode
           insmod gzio
           insmod part_msdos
           insmod ext2
           set root='hd0,msdos1'
           if [ x$feature_platform_search_hint = xy ]; then
             search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  5ff7efa5-1a24-4e42-bba0-c3b1a4b86fd3
           else
             search --no-floppy --fs-uuid --set=root 5ff7efa5-1a24-4e42-bba0-c3b1a4b86fd3
           fi
           echo    'Loading Linux 4.4.0-31-generic ...'
           linux   /vmlinuz-4.4.0-31-generic root=/dev/mapper/dhcp--10--33--42--96--vg-root ro  
           echo    'Loading initial ramdisk ...'
           initrd  /initrd.img-4.4.0-31-generic
   }

我嘗試創建一些菜單項,但它無法啟動 Ubuntu 實例。有誰知道我將如何在 grub 中創建一個新的 menuitem 以便我可以啟動 Ubuntu 實例?謝謝

好的,經過大量的失敗和幾天的嘗試,我確實找到了一個解決方案。所以,這是我的菜單項。我確信它不完整,但至少 Ubuntu 正在啟動。

title Ubuntu
       root (hd1,0)
       kernel /vmlinuz-4.4.0-59-generic root=/dev/mapper/dhcp--10--33--42--96--vg-root ro
       module /initrd.img-4.4.0-59-generic

引用自:https://unix.stackexchange.com/questions/345639