從Ubuntu論壇上看到將Ubuntu裝到移動硬盤裡的帖子,覺得有點意思,就照著試了試,有了點自己的經驗,現在拿出來分享一下。
我的步驟如下:
1、用livecd啟動,插上移動硬盤,然後一切安正常的安裝步驟進行,只是選擇安裝目標時選擇你的移動硬盤,怎麼分區一類的和平常的硬盤沒什麼區別。不過我建議前面的分成是windows的fat32,Linux的分在最後面比較好,這樣可以方便你的移動硬盤在windows下面發揮它原來備份的作用,另外調整分區大小時也比較方便(我有次很不好的經驗,就是有次想調整一下windows的分區,但是在我的c盤後面接著就是Linux的分區,再後面才是d盤、e盤、f盤,然後調整的時候無論如何不成功,後來發現在windows下那個pqmagic沒法移動Linux分區,以及無法跳過Linux分區去操作後面的windows分區)。
2、一切安裝完畢後,你的移動硬盤就已經可以在你的機器上啟動了,這裡注意,只是在你的機器上,在別人的機器上還是不行,關鍵在於那個grub引導是安裝到你的硬盤上而不是移動硬盤上的(這個我不知道為什麼,好像Ubuntu的安裝程序就這麼配置的),你需要在啟動機器出現引導選擇畫面時選擇c進行編輯,也就是進入grub的命令提示狀態(這個在出現選擇界面的時候下面有英文注釋,自己看看也知道怎麼做)
進入後,執行root (hd1,X)
hd1代表移動硬盤(因為grub現在在機器硬盤上,所以對於grub來說移動硬盤是hd1)
X代表/boot所在的分區,這個自己查看一下就行,一般輸入root (hd1,後按一下tab鍵應該能看到
再執行setup (hd1)
這樣grub就安裝到了移動硬盤上。
再執行boot命令,應該能進入到Ubuntu中,進來後應該酌情改一下/boot/grub中的menu.lst文件,這個文件中的root行應該是需要更改的。具體是改root行,將原來的hd0改成hd1,因為你的移動硬盤對於你的電腦來說是第二塊,雖然是用它啟動。
這樣做的好處是可以避免更改menu.lst中的UUID,那個比較麻煩,呵呵。
3、將附件中的S03xconfig.sh文件復制到/etc/rc2.d/中,這樣就可以使Ubuntu能檢測一些硬件驅動完成對於無法使用usb啟動的機器,在完成上面幾步後,還有點麻煩的地方,需要更改一下:重啟進入windows,運行一下附件裡files文件夾中的一個grubinit_gui什麼的程序,選中自己機器上的硬盤,選擇“啟動時不檢測軟驅”和“優先引導原來的MBR”,點擊安裝
去http://www.linuxidc.com/Linux/2007-10/8641.htm將裡面的grldr和在Linux中的/boot/grub下的menu.lst文件復制出來放到c盤根目錄,其中menu.lst文件需要修改一下,將Ubuntu的選項的root全部改為 root (hd0,0),意思是從機器的硬盤去引導。
然後把/boot中的vmlinuz-2.6.22.14-generic和initrd-2.6.22.14-generic(文件名可能有錯,太長,想不清,呵呵)考出來放到c盤。
這裡說明一下原因:grub再引導Linux時,是將上面提到的vmlinuz和initrd文件加載到內存中的,也就是說,grub中指定的位置就是這兩個文件所在的位置,這兩個文件在內存中後,會自己再去啟動Linux,這樣就好辦了,只要這兩個文件能加載到內存中,文件就會根據一些東西(可能是grub中設置的uuid或者什麼)找到移動硬盤中的系統。
以上是我根據我的經驗進行的一些操作。可能有不適合你們機器的地方,全當是個參考好了。呵呵