
我最近嘗試在雙磁碟裝置上安裝多重開機系統失敗了,儘管我已經在磁碟 1 上成功安裝了 Ubuntu、Linux Mint 和 Peppermint,並隨後更新了 grub。當我嘗試在磁碟2上安裝CentOS、openSUSE和Fedora時,我遇到了很多問題。
- 沒有足夠的可用空間。雖然我使用 GParted 格式化了兩個磁碟,但對於非 LVM 安裝,而且磁碟 2 上沒有作業系統。
- 在安裝程式中沒有看到其他發行版。
- 不接受安裝點。
- 需要 /boot/efi 分割區並要求 GPT 分割區表。
- 嘗試透過安裝程式修改分割區,導致崩潰。
- 嘗試過LMDE 2,(Debian 對我的CPU 有問題?)雖然它看到了所有已安裝的發行版,(包括重新安裝的CentOS 6.6 以檢查,如果是我的話),它需要一個/boot/efi 分區。
行動。
由於我遇到了問題,因為它是較新的 RPM 發行版,所以我決定先安裝 CentoS 7,儘管 CentOS 6.6 之前在我的舊設定 BIOS 設定和 sudo update-grub 上愉快地共存。特別是 openSUSE,是否有任何提示可以提高我全新安裝的機會。我想我已經解決了 CentOS 和 Fedora 的問題。
- 卸載一切。對於全新安裝。
- 使用 GPT 重新格式化兩個磁碟,為每個磁碟建立兩個 fat32 /boot/efi 標記的分割區。這是多餘的還是必要的?
- 然後使用 ext4 和 linux-swap 分割區建立 /、/home 分割區,用於我的新手冊,非 LVM 安裝。
- 檢查 BIOS 並將設定從 Legacy 變更為 UEFI。
- 在克服了空間不足和掛載點怪癖(即 /boot/efi、/home、/ 和 swap)之後,安裝 CentOS 7。
- 執行指令 [ -d /sys/firmware/efi ] && echo "以 UEFI 模式安裝" || echo "以傳統模式安裝" = 以 UEFI 模式安裝。
由於 Ubuntu 和基於 Ubuntu 的發行版主要使用 Debian 作為基礎,目前尚未實作 systemd,因此它們很可能會在不久的將來效仿,而我現在需要適應。
鍊式裝載機。
我沒有太多經驗,上次嘗試時, sudo update-grub 將其刪除。因此,在後來的一次網頁瀏覽中,我找到了一些切實的起點,並呼叫了CentOS 7 的正確術語(新),其中grub2-mkconfig -o /boot/grub2/grub.cfg 與sudo update-grub 類似。然後“etc/grub.d/40_custom”打開一個gedit文件,或者我認為會發生的情況,編輯#40選單項目。
終端。
在終端,我是否在 #... 之後輸入我的 chainloader?我不確定下面的腳本,希望有經驗的人對此有看法。
[root@localhost tony]# /etc/grub.d/40_custom
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
[root@localhost tony]#
#DISK 1
#
# for CentOS-7
menuentry "My custom boot entry" {
set root= '(hd0,2)'
linux /boot/vmlinuz-linux
initrd /boot/initramfs-linux.img
}
#
# for openSUSE
"openSUSE-13.2" {
set root='(hd0,5)'
linux /boot/vmlinuz-linux
initrd /boot/initramfs-linux.img
}
#
# for Fedora
"Fedora-22" {
set root='(hd0,8)'
linux /boot/vmlinuz-linux
initrd /boot/initramfs-linux.img
}
#
#DISK 2
#
# for Ubuntu
"Ubuntu-14.04.2" {
set root='(hd1,2)'
linux /boot/vmlinuz-linux
initrd /boot/initramfs-linux.img
}
#
# for Linux Mint
"Linuxmint-17.1" {
set root='(hd1,5)'
linux /boot/vmlinuz-linux
initrd /boot/initramfs-linux.img
}
#
# for Peppermint
"Peppermint-Five" {
set root='(hd1,8)'
linux /boot/vmlinuz-linux
initrd /boot/initramfs-linux.img
}
概括。
從Legacy改為UEFI模式,使用GPT分割區表,為兩個磁碟建立兩個/boot/efi分割區,有這個必要嗎? Chainloader,對自己不確定,需要指導,希望能夠輕鬆安裝與其他發行版和諧相處的其他發行版。
預先感謝您就該主題提供的急需幫助。
答案1
您的一些問題(例如安裝程式不接受您指定的安裝點)顯然是特定於發行版的,應該作為與它們相關的單獨問題來解決,可能在特定於發行版的論壇上解決。
對於如何為複雜的多作業系統設定配置啟動管理員的整體問題,我首先建議您不要建立如此複雜的設定。如果可能,您應該單啟動並使用虛擬化(VMWare、VirtualBox、KVM/QEMU 等)來處理多個作業系統。這種方法是很多比在一台電腦上管理六個不同的作業系統更麻煩。
如果你必須多重開機這麼多作業系統,恕我直言,GRUB 是一個糟糕的解決方案。它需要安裝腳本中複雜的作業系統檢測邏輯。任何給定發行版的安裝腳本都可以很好地處理該發行版,但與其他發行版相比會更加困難。相反,您應該考慮使用另一個 EFI 啟動管理器。有幾種可用,詳細資訊請參閱這一頁我的。大多數都需要手動配置,但該配置比使 GRUB 工作所需的調整要簡單得多。我自己的酶標儀可能是最容易設定的,因為它會在每次啟動時掃描啟動載入程式和 Linux 核心。大多數安裝可能需要一個/boot/refind_linux.conf
文件,並且可能需要特別注意存儲內核的文件系統,並確保為它們安裝 EFI 文件系統驅動程序,但 rEFInd 可能會引導大多數或除此之外,您的所有發行版都無需大驚小怪,並且每當您在任何給定發行版中更改內核時都無需調整配置。