2011/09/06

從隨身碟開機 raw disk image at virtualbox

這篇文章要寫的,主要是我把 Linux 安裝在我的隨身碟中,裝了幾個不同的系統,其中主要的就是 ubuntu, 加上幾個用 iso 檔的系統,例如 GeeXboX 2.0, TinyCore 等等,這當然能把作業系統隨身帶著走,不過有時找不到機器,那就可以考慮用 Virtualbox 來開機同樣的文章還可以參考這篇

先貼一下上面關於 GeeXboX 2.0, TinyCore 的 grub2 設定檔,這邊要提醒的是,Grub2 與 Grub1 的設定檔差很大。這個設定檔,按照 Ubuntu 的設定,只需要放在 /boot/grub/custom.cfg 即可「自動」生效。

menuentry "GeeXboX 2.0 alpha2" --class os {
  set isofile="/livecd/geexbox-2.0-alpha2-en.i386.eglibc.iso"
  loopback loop $isofile                          # 這個 loopback 設定,在硬碟中是 (hd1,msdos1)$isofile
                                                           # 請參考自己的環境適當修改
  linux (loop)/GEEXBOX/boot/vmlinuz root=/dev/ram0 rw rdinit=linuxrc boot=cdrom lang=en vga=788 video=vesafb:ywrap,mtrr hdtv quiet loglevel=3
  initrd (loop)/GEEXBOX/boot/initrd.gz
}
menuentry "Tinycore" --class os {
  set isofile="/livecd/tinycore.iso"
  loopback loop $isofile  # 同上
  linux (loop)/boot/bzImage
  initrd (loop)/boot/tinycore.gz
}
上面只是範例而已,要自己測試修改,其中 isofile 的目徑請務必自己修改。

上面 Virtualbox 來開機的教學是用 Windows(感謝微軟),相當簡單,若是想在 Linux Host 裡面用的話,反而要注意一件事,就是權限問題,若用 root 跑 virtualbox  當然不會有問題,若要用一般帳號的話,則要記得把隨身碟的 device 權限改成普通帳號可以存取的。至於命令很類似,參考文章改一下即可。

當然在 Linux 下命令與 windows 不太一樣,把兩者並列供大家參考:



-- Windows --
VBoxManage internalcommands createrawvmdk -filename "%USERPROFILE%"\.VirtualBox\usb.vmdk -rawdisk \\.\PhysicalDrive#
上面的 PhysicalDrive# 是透過 diskmgmt.msc 這個命令來查找的,主要就是隨身碟的「磁碟機編號」


-- Linux -- 
VBoxManage internalcommands createrawvmdk -filename ~/.VirtualBox/usb.vmdk -rawdisk /dev/sdb
上面的 /dev/sdb 相信大家都會,可以用 fdisk -l 命令來查隨身碟的編號

0 意見: