window/linux(ubuntu/linuxMint)雙系統不能啟動終極解決辦法 硬體設定如下:CPU:AMD A10-5800K (APU,HD 7660D)主板:技嘉(GIGABYTE) F2A85X-D3H主板(大板)記憶體:芝奇(G.SKILL)DDR3 1600 8G(4G×2雙通道) 軟體配置如下:先用UEFI + GPT安裝windows 7,然後安裝ubuntu,用boot-repair成功修複引導。後面把ubuntu折騰得不行了,打算換linuxMint玩玩,又覺得前面給ubuntu的分區不合理,順便調整一下分區,即原來的/boot分區的位置有變化。然後就正常安裝linuxMint,可惜重啟後就悲劇了。 重啟後沒出現可愛的grub引導介面,而是給我這個東東:[plain] error: unknown filesystem grub rescue > 下面提供解決類似這種啟動問題的三種招式(並不一定你也是出現和我同樣的問題,但只要是grub引導問題,都可以按照以下方法解決): 1:平淡無奇:使用boot-repair 開機用安裝媒介引導(我是用u盤來安裝系統的,如果你用光碟片也沒問題)進入linux環境,只是試用而已,不選安裝。ubuntu/linuxMint都會有一個安裝前的案頭環境提供給你,進入後調出 終端(可以按ctrl+alt+T),當然,你得首先把網路連通,再輸入以下命令啟動boot-repair:[plain] $ sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update $ sudo apt-get install -y boot-repair && (boot-repair &) 你應該得到一個類似的介面,還猶豫什麼,猛擊”Recommended repair“吧,等幾分鐘後,你會得到一個類似下面的提示: 直接點OK,然後重啟看看是否可以成功引導了,如果還是不能引導,請使用下面的第二招 2:漸入佳境:使用chroot 前面的步驟和招式1一樣,先進入linux的安裝案頭環境,連網,調出終端。首先確認你的系統是安裝在哪個分區的,最簡單的方式是通過GParted依據分區大小來看,例如: 以上是我的分區,如果不能用gparted,可以用fdisk,或者blkid來看看:[plain] $ sudo fdisk -l /dev/sda $ sudo blkid 例如,我這裡的分區規劃是: sda5 掛到/ sda8 掛到 /usr sda9掛到/tmp 先做一些chroot前的準備工作:[plain] $ sudo mkdir -p /mnt/mint $ sudo mount /dev/sda5 /mnt/mint/ #sda5 對應到真實系統的 / 目錄 $ sudo mount /dev/sda9 /mnt/mint/tmp #sda9 對應到真實系統的 /tmp 目錄 $ sudo mount /dev/sda8 /mnt/mint/usr $ sudo mount -t proc none /mnt/mint/proc $ sudo mount -o bind /dev /mnt/mint/dev $ sudo mount -o bind /sys /mnt/mint/sys $ sudo mount -t devpts devpts /mnt/mint/dev/pts 由於我沒有將/boot單獨分區,所以/boot是在 sda5 裡面,以上的主要是為chroot後的系統掛載必要的檔案系統,如果你還有其他分區是單獨分區的,尤其是 /etc /boot /usr 等分區,一定要掛載到對應的目錄下。然後就是change root了:[plain] $ sudo chroot /mnt/mint 輸入以上命令後出現一個另外不同的提示符,那就表示你成功change過去了。這裡的 /mnt/mint 就是真實系統/ 分區對應的掛載點。然後是進行grub的修複工作,依次輸入以下命令:[plain] # grub-install --recheck /dev/sda # update-grub 然後就是退出change root環境了,依次輸入以下命令:[plain] # sync # exit 這時候應該就會退回到原有的終端中來了,再倒著順序卸載前面掛載的分區:[plain] $ sudo umount /mnt/mint/dev/pts $ sudo umount /mnt/mint/dev $ sudo umount /mnt/mint/sys $ sudo umount /mnt/mint/proc $ sudo umount /mnt/mint/usr $sudo umount /mnt/mint/tmp $ sudo umount /mnt/mint 最後就是重啟看看效果了,基本上一般的啟動問題都會這樣被修複掉,如果你的還是無法啟動,就只有用第三招了 3:天地同歸:刪掉grub重裝 重裝grub的方式有手動和自動,這裡提供最簡單的自動方式。 前面的步驟和招式1一樣,先進入linux的安裝案頭環境,連網,調出終端。啟動boot-repair:[plain] $ sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update $ sudo apt-get install -y boot-repair && (boot-repair &) 不同的是這次不點"Recommended repair",而是點下面三角符號後面的"Advanced options",會出現下面的介面,切換到“Grub Options”選項卡,選第一項"Purge Grub...",最新的可能和下面的圖不一樣,但還是有Purge 字樣的: 然後點apply,會自動幫你幹活的,期間會有對話方塊彈出來,要求你將彈出對話方塊的命令放到終端中去執行,照做就行(複製粘貼即可): 當然最後完成的時候也會彈出如招式1最後的對話,不用關心,直接重啟,你會有驚喜的。 後記:我的啟動問題就是用最後這種方式解決的,前面兩種方式對調整分區後的系統無效,尤其是UEFI + GPT分區的時候,猜測可能是/boot位置有改動導致的。