2013年5月13日 星期一

自製 Ubuntu 13.04/12.10/12.04.2 與 Debian 7.0 測試硬體安裝使用的 USB 隨身碟

為了同時可以在 Legacy BIOS 與 UEFI BIOS 上使用的,首先使用 Ubuntu 12.04.2 以上內建的 usb-creator-gtk 工具來產生一個 Ubuntu 13.04 desktop amd64 的 USB 隨身碟來用。

$ usb-creator-gtk -n -i ubuntu-13.04-desktop-amd64.iso

接下來的動作,只要使用 Ubuntu 13.04 的 Live System (amd64) 就可以了,不用安裝到硬碟上面。

進入 Ubuntu 13.04 Live System (amd64) 之後,執行以下指令。

ubuntu@ubuntu:~$ sudo apt-get install grub-pc-bin grub-efi-amd64-bin                                                                                                                                       
正在讀取套件清單... 完成
正在重建相依關係
正在讀取狀態資料... 完成
grub-pc-bin 已經是最新版本了。
下列【新】套件將會被安裝:
  efibootmgr grub-efi-amd64-bin
升級 0 個,新安裝 2 個,移除 0 個,有 0 個未被升級。
需要下載 0 B/581 kB 的套件檔。
此操作完成之後,會多佔用 2,316 kB 的磁碟空間。
選取了原先未選的套件 efibootmgr。
(讀取資料庫 ... 目前共安裝了 161462 個檔案和目錄。)
解開 efibootmgr(從 .../efibootmgr_0.5.4-4ubuntu1_amd64.deb)...
選取了原先未選的套件 grub-efi-amd64-bin。
解開 grub-efi-amd64-bin(從 .../grub-efi-amd64-bin_2.00-13ubuntu3_amd64.deb)...
執行 man-db 的觸發程式 ...
設定 efibootmgr (0.5.4-4ubuntu1) ...
設定 grub-efi-amd64-bin (2.00-13ubuntu3) ...

將另外一隻 USB 隨身碟插入 USB 埠,執行以下指令。

ubuntu@ubuntu:~$ sudo grub-install --removable --target=i386-pc --root-directory=/media/ubuntu/UsbStick/ /dev/sdc
Installation finished. No error reported.
ubuntu@ubuntu:~$ sudo grub-install --removable --target=x86_64-efi --root-directory=/media/ubuntu/UsbStick/ /dev/sdc
/usr/sbin/grub-probe: error: failed to get canonical path of /cow.
Installation finished. No error reported.

請將以上的 /dev/sdc 與 /media/ubuntu/UsbStick/ 代換成符合實際使用環境上的字串。

接下來將 grub.cfg 放到 /media/ubuntu/UsbStick/boot/grub/ 底下。

最後再將相對應的 ISO 檔案都放到 /media/ubuntu/UsbStick/iso/ 底下就可以了。

之後只要針對 grub.cfg 的內容做調整加入需要的選項即可。

這樣一來就可以在安裝前先測試看看硬體的相容性,再來決定要不要安裝到硬碟裡面。

P.S. Ubuntu 上面有些無線網路的驅動程式是要安裝到硬碟裡面重新啟動才會正常運作的。
張貼留言