歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu安裝到移動硬盤 & grub rescue問題解決

Ubuntu安裝到移動硬盤 & grub rescue問題解決

日期:2017/2/28 14:36:35   编辑:Linux教程

想好好折騰linux, 選擇Ubuntu入手, 但想到linux下配置啥的挺麻煩, 裝個系統最好能長久用下去, 於是就將ubuntu安裝到移動硬盤上, 這樣到哪都好用了.

如何在ubuntu安裝到移動硬盤?

1. 首先制作一個u盤版的livecd. 這個可以用Fedora LiveUSB Creator, 兼容Ubuntu, 網址是https://fedorahosted.org/liveusb-creator/, 幾分鐘就搞定了
2. 選擇從u盤啟動, 進入livecd系統, 相當於體驗版. 選擇安裝Ubuntu, 注意分區選擇移動硬盤, 掛載點最簡單的是根目錄和swap, 其他按序掛載; 最後"安裝啟動引導器的設備"選擇移動硬盤, 如sda, 而不是它的某個分區, 如sda1, 這樣系統就可以從移動硬盤啟動了.

只要簡單兩步就安裝完成了, 同理如果把ubuntu安裝到U盤上也是一樣的.

------------分割線----------------

裝完後在自己電腦上成功啟動, 但換個電腦就不行了. 按照對linux啟動的了解, 啟動的先後順序是BIOS, MBR, BootLoader, OS. 已經系統的grub(GRand Unified Bootloader)安裝到移動硬盤上了, 從移動硬盤啟動時, MBR能直接識別Grub以啟動系統, 在自己電腦上試驗成功說明安裝的確是成功的.

tips. 事實上, 這個版本系統是用UCloner克隆到移動硬盤上, 或許問題出在此.

在其他電腦上啟動時, 無法啟動grub, 而是進入了grub rescue, 顯示信息為

error: unknown filesystems
grub rescue>

網上遇到這個問題多數是安裝了windows+ubuntu雙系統後, 在windows對磁盤重新分區導致的, 與我在移動硬盤上的ubuntu在別的電腦上運行類似, 疑問: 為什麼grub啟動跟其他磁盤或分區有關系呢?

一. 在grub rescue中通過ls查看磁盤和分區, 如果ls (hd0,6)/boot/grub顯示信息, 說明(hd0,6)是安裝/boot的分區, 可通過以下命令進入系統

set root=(hd0,6)
set prefix=(hd0,6)/boot/grub
insmod normal
normal

# after getting into ubuntu
sudo update-grub
sudo grub-install /dev/sda但本人ls每個個分區都是出錯, set命令顯示的boot和prefix都是指向實際的'/'分區.

二. 繼續搜索網上解決方法, 多是reinstalling GRUB from the LiveCD, 如下:

sudo mount /dev/sda4 /mnt
sudo grub-install --boot-directory=/mnt/boot /dev/sda

# sda4 is the / partition, so sda is the disk

# Back in Ubuntu
sudo update-grub但本人試過這個方法, 沒有成功.

三. 堅持不懈的搜索, 終於發現這句話:Some bioses have a maximum read capability of 137GB and will therefore not find boot files which are on the disc after that limit.

有些bios的讀取磁盤能力有限, 只能讀前137G大小的內容. 這才發現最初因為移動硬盤前面部分存了幾百G的資料, 為省力直接在磁盤後面部分劃分出空閒空間作為linux分區. 重新將linux安裝到移動硬盤前面部分, 便可以到處啟動啦, 真心坑爹啊!!

p.s. 下面是兩個啟動信息分析工具, 如有其它問題, 可以檢測後, 貼到論壇讓大牛們幫忙分析:

1. Boot-Repair: https://help.ubuntu.com/community/Boot-Info
2. Boot Info Script: http://bootinfoscript.sourceforge.net/

更多Ubuntu相關信息見Ubuntu 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=2

Copyright © Linux教程網 All Rights Reserved