Puppy Linux 4.1.1發布了,把它安裝在移動硬盤上作為隨身系統是個不錯的選擇。Puppy的文檔建議使用Live CD啟動,然後通過其中的Puppy Universal Installer將其安裝到USB硬盤,但刻錄Live CD有點浪費。也有網友制作了Puppy硬盤安裝程序,但只能安裝在FAT或NTFS分區,以sfs鏡像方式加載。不能安裝在ext3分區,並且把文件系統在分區上展開。事實上,我們也可以不刻錄Live CD,而借助虛擬機來加載Live CD ISO和移動硬盤執行安裝程序,把Puppy像一般Linux發行版那樣安裝在ext3分區。我這裡使用VMware Player,運行在Windows Vista上。
1、將移動硬盤插好。
2、在VMware Player中設置任一已存在的虛擬系統的光驅,加載Puppy的Live CD ISO。
3、啟動這一虛擬系統,通過Esc鍵的啟動選項菜單選擇光盤引導。
4、待Puppy加載完成後,通過VMware Player的Genesys Logic Removable Disk功能掛載物理機上的移動硬盤。
5、在虛擬機中運行Puppy Universal Installer,將Puppy安裝到掛載好的移動硬盤的ext3分區中。
理論上這樣可以正確安裝。但我安裝後發現Puppy文件復制正確,而Grub或MBR不知何故有問題,用移動硬盤開機時顯示亂碼,沒有響應。於是決定采用另外的思路,借助本地的Ubuntu 8.10系統在移動硬盤中重新安裝Grub。
1、啟動Ubuntu,在移動硬盤的Puppy所在的分區中建立/boot/grub目錄,將Ubuntu的/boot/grub下的所有文件復制到Puppy的/boot/grub下。
2、在Ubuntu的終端下運行sudo grub,將Grub的引導信息寫入移動硬盤的MBR,命令如下:
=============================
root (hd1,5)
setup (hd1)
quit
=============================
3、修改移動硬盤上的/boot/grub/menu.lst。由於我的移動硬盤中已有一套WinPE系統,所以需要配置兩個引導項。內容如下:
=============================
default 0
timeout 10
title Puppy Linux
root (hd0,5)
kernel /vmlinuz
initrd /initrd.gz
title Windows PE
root (hd0,0)
savedefault
makeactive
chainloader +1
==============================
需要注意的是,在安裝Grub時,本機硬盤為hd0,移動硬盤為hd1,所以要將Grub安裝到hd1。而使用移動硬盤引導時,移動硬盤則成了hd0,故需要在menu.lst中加載hd0上的分區來啟動系統。
然後再次測試,Grub正常加載。分別選擇“Puppy Linux”和“Windows PE”,可以進入對應的系統。