2016年8月2日 星期二

用grub讓硬碟可開機

把整個系統的內容都複製到某個硬碟(/dev/sdb)上面,只差要讓這個硬碟可以開機。根據Graeme回應《How to make a bootable HDD with GRUB2》可分成下面幾步:
  1. mount /dev/sdb1 /mnt
  2. grub-install --boot-directory=/mnt/boot /dev/sdb
  3. mount --bind /proc /mnt/proc
  4. mount --bind /sys /mnt/sys
  5. mount --bind /dev /mnt/dev
  6. chroot /mnt update-grub
  7. umount /mnt/proc /mnt/sys /mnt/dev

在這邊假設要開機的硬碟是 /dev/sdb,根目錄系統在 /dev/sdb1上,而且系統的/boot 沒有在其他的分割區上面。上面幾個步驟的意思是:
  1. 將 /dev/sdb1 掛載到 /mnt 下面
  2. 把 grub 這個 bootloader 安裝到 /dev/sdb 上面
  3. 把 /proc 掛到 /mnt/proc 下
  4. 把 /sys 掛到 /mnt/sys 下
  5. 把 /dev 掛到 /mnt/dev 下
  6. 跳到 /mnt 下面,把/dev/sdb1當作是根目錄,更新grub的設定
  7. 把步驟3, 4, 5的分割區卸載
這樣這個硬碟"應該"就可以直接開機了。若要確定有沒有把grub裝好,參考《安裝GRUB到硬碟上再驗證》。更多關於grub參考英文維基百科的《GNU GRUB》

備註:用再生龍把系統從映像檔還原到硬碟上,但是還原之後MacBookPro卻沒辦法看到這個硬碟,因此無法開機。按照上面的步驟做過後還是一樣無法開機,猜測是因為Mac的EFI沒辦法讀取grub的bootloader。網路上目前看到的教學都是安裝rEFItrEFInd來讓Macintosh的機器可以開Linux的分割區,但之前直接安裝Ubuntu Gnome 14.04後並不用修改EFI就可以正常開機,猜想一定有辦法在不修改Mac EFI的情況下來開Linux,只是尚未找到究竟應該怎樣做...


 _EOF_

沒有留言:

張貼留言