加上用 Live CD試用或者安裝,光讀取光碟就會花費不少時間,總想看看能不能把ISO檔放在硬碟讀取,應該會比放在光碟機會來的快很多。
網路上大都是教你從Windows用Grub4DOS修改開機選單,由於我電腦上都沒裝Windows,加上本來就有安裝Ubuntu可以直接修改Grbu選單,那就參考了Windows的硬碟安裝方式,瞭解他要做什麼事情懂了在試驗修改Grub選單就來的容易點。
首先當然是下載ISO檔囉,你可以到Ubuntu Wiki安裝光碟下載點列表挑選你要試用的版本,我是下載Ubuntu 8.10 DVD I386版來使用。
wget http://tw.archive.ubuntu.com/ubuntu-dvd-releases/releases/8.10/release/ubuntu-8.10-dvd-i386.iso
下載後把ISO檔放在/home底下
sudo mv ubuntu-8.10-dvd-i386.iso /home/
在用fdisk -l來查看磁碟分割
sudo fdisk -l
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x27e1de7a
所用裝置 Boot Start End Blocks Id System
/dev/sda1 * 1 2550 20482843+ 83 Linux
/dev/sda2 2551 2805 2048287+ 82 Linux swap / Solaris
/dev/sda3 2806 19457 133757190 83 Linux
Disk /dev/sdb: 400.0 GB, 400088457216 bytes
255 heads, 63 sectors/track, 48641 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0004f556
所用裝置 Boot Start End Blocks Id System
/dev/sdb1 1 1530 12289693+ 83 Linux
/dev/sdb3 1531 48641 378419107+ 83 Linux
我有兩顆硬碟sda1是/根目錄,根目錄下本來就有vmlinuz,如果覆蓋到的話就不能開機了,我把ISO檔放到sda3也就是/home底下,如果我把ISO檔放在sdb3的話,等於安裝時又要讀取又要安裝,沒試過這樣裝要幾分,我想會比放在sda3來的慢點這樣裝只要20分就好了。
在來掛載ISO檔取出initrd.gz和vmlinuz檔案,等會需要用到
sudo mkdir /media/iso
sudo mount -o loop /home/ubuntu-8.10-dvd-i386.iso /media/iso
sudo cp /media/iso/casper/initrd.gz /home/ && sudo cp /media/iso/casper/vmlinuz /home/
先備份一下grub選單需要的時候可以還原
sudo cp /boot/grub/menu.lst /boot/grub/menu.lst.back
如需要還原的話就這樣做
sudo cp /boot/grub/menu.lst.back /boot/grub/menu.lst
打開grub檔先來看一下原本的結構
cat /boot/grub/menu.lst
title Ubuntu intrepid (development branch), kernel 2.6.27-5-generic #選單顯示的標題
root (hd0,0) #由此可得root根目錄在第1顆第1個分割區,每個人的可能不太一樣安裝方法不同
kernel /boot/vmlinuz-2.6.27-5-generic root=UUID=5c7b72be-36b1-40c0-b82a-a86ab2b27af4 ro quiet splash #kernel核心通常都放在/boot底下
initrd /boot/initrd.img-2.6.27-5-generic #initrd也是放在/boot底下
皆下來就修改grub選單了
sudo gedit /boot/grub/menu.lst
打開後把以下這段插入到最下面或適合的地方
title Ubuntu 8.10 Live
root (hd0,2)
kernel /vmlinuz boot=casper locale=zh_TW.UTF-8 iso-scan/filename=/ubuntu-8.10-dvd-i386.iso
initrd /initrd.gz
root
記得嗎我ISO檔是放在sda3也就是第1顆硬碟的第3個分區,那就是要改成root (hd0,2)囉,如果照原本的是(hd0,0)他會找不到開機檔而出現錯誤
krnel
在看krnel這一行你要裝中文版的話,就要加入locale=zh_TW.UTF-8否則試用時,沒有可選擇語系的選單只能用英文版,iso-scan/filename=為你的ISO檔,當選則Ubuntu 8.10 Live開機時,ISO是在/根目錄下面不是在/home路徑要寫對哦
都寫好後存檔重開機試試看吧!成功的話以後就不用在找光碟來燒錄,可以從硬碟執行很有快感的哈!
進階惡搞法XD
如你已經可以從硬碟執行Live CD的話,可以像我一樣把他改成Ubuntu跟Kubuntu都從硬碟執行
建立/home/iso/U、/home/iso/K資料夾,把iso資料夾擁有者改為你,hepha:hepha取代為你的使用者跟群組
sudo mkdir -p /home/iso/U && sudo mkdir /home/iso/K
sudo chown -R hepha:hepha /home/iso
把剛剛下載的ubuntu-8.10-dvd-i386.iso與取出來的initrd.gz、vmlinuz搬到/home/iso/U/
mv ubuntu-8.10-dvd-i386.iso /home/iso/U/ && mv vmlinuz /home/iso/U/ && mv initrd.gz /home/iso/U/
在去Ubuntu Wiki下載kubuntu-8.10-dvd-i386.iso,其它跟剛剛一樣把從Kubuntu取出的vmlinuz、initrd.gz與kubuntu-8.10-dvd-i386.iso放在/home/iso/K
如你要卸除剛掛載的ISO檔指令為
sudo umount /media/iso
在來修改grub選單
sudo gedit /boot/grub/menu.lst
把剛剛新增的刪掉或者修改為
title Ubuntu 8.10 Live
root (hd0,2)
kernel /iso/U/vmlinuz boot=casper locale=zh_TW.UTF-8 iso-scan/filename=/iso/U/ubuntu-8.10-dvd-i386.iso
initrd /iso/U/initrd.gz
title KUbuntu 8.10 Live
root (hd0,2)
kernel /iso/K/vmlinuz boot=casper iso-scan/filename=/iso/K/kubuntu-8.10-dvd-i386.iso
initrd /iso/K/initrd.gz
- 如果移除舊核心或安裝新核心的時候,用新產生的grub開機選單,Live CD選項不見要重建比較麻煩,你可以這樣做
gedit /home/iso/menu
把兩個Live CD選項的程式碼貼進去後存檔
需要還原Live CD選項時執行這個,就會把你剛建的範本直接寫入grub選單了
cat /home/iso/menu | sudo tee -a /boot/grub/menu.lst
注意:Live CD選項不見在執行,否則grub選單會多Live CD選項,你還要自已修改回去
後記
- 沒有限制檔案一定要放在根目錄底下,如果路徑對的話也是可以正確執行的
- 我只有試Ubuntu跟Kubuntu,Kubuntu不能加locale=zh_TW.UTF-8,試用時選單會出不來,只能先裝英文版重開機後在裝中文語系﹙我沒裝只有試用﹚
- 放ISO檔那個分割磁碟區會被鎖住,你無法使用那個分割磁碟區
2008.12.04
- 解決鎖住硬碟的問題
按Alt+F2輸入以下指令後按run
sudo umount -l /isodevice
就解除鎖定囉
關於後記第三點,根據我試的結果,它應該是將放該iso檔的整個硬碟機鎖住,而不是只有鎖住該partition而已。我找了老半天找不到解除這個限制的方法,您能夠提供嗎?這樣我就可以從同一個硬碟的第三個 partition 安裝到第二個 partition.,如此就方便多了.
回覆刪除劍是啥米?
回覆刪除sudo umount -l /isodevice
這樣就能解除鎖定囉,從簡體中文站看來的:)
只有一個hd會鎖單個partition嗎?我沒遇過,不過我兩個hd他會鎖住來源那顆:(
今天參考了這篇文章,想要用硬碟開機的方法試玩Ubuntu 8.10(現在用8.04)
回覆刪除menu.lst的設定如下:
8.04:
title Ubuntu 8.04.2, kernel 2.6.24-23-generic
root (hd0,5)
kernel /boot/vmlinuz-2.6.24-23-generic root=UUID=6be428d3-638d-41d7-ba4e-ea78115653f7 ro quiet splash locale=zh_TW
initrd /boot/initrd.img-2.6.24-23-generic
quiet
8.10 iso:
title Ubuntu 8.10 Live
root (hd0,5)
kernel /u81/vmlinuz boot=casper locale=zh_TW.UTF-8 iso-scan/filename=/u81/ubuntu-8.10-dvd-i386.iso
initrd /u81/initrd
8.10的iso我放在8.04同一個分割區裡面的/u81資料夾
initrd我把initrd.gz解壓縮了(沒解壓縮也是不能啟動)
8.04可以正常的啟動,不過試著進入8.10跑了一些文字之後([1.****].....這類的訊息),停在一個輸入指令的畫面,大概是這樣:「(......)」,沒有$或是#,可以下一些基本指令如ls、cd之類
請問我是遇到了什麼問題呢?如何解決?
謝謝
UGP
回覆刪除你試試看cd版…8.10我用dvd版時也有點問題,不過忘了是什麼問題,以全新安裝來講cd版會比較快,不過建議安裝時不要讓網路連線,之後自己在把語言套件補起來就好。
對了要檢查md5。
我是用8.10 LiveCD,只是想用用看硬碟方式的8.10 LiveCD,沒有要安裝
回覆刪除已經有裝8.04了
不過嘗試進去8.10的選項就是連選單(適用、安裝、RAM檢查等)都沒有
MD5計算沒有問題,VirtualBox可以開機...
UGP你kernel後面加上ro quiet splash試試:o
回覆刪除硬碟執行live的確沒有選單,執行成功直接進入試用!
還不行的話你把畫面拍上來我瞧瞧看
加上了之後的確有跑出圖形化載入,不過之後就停止了,顯示如下畫面:
回覆刪除http://img212.imageshack.us/img212/3913/live810.png
目前設定:
title Ubuntu 8.10 Live
root (hd0,5)
kernel /u81/vmlinuz boot=casper iso-scan/filename=/u81/ubuntu-8.10-dvd-i386.iso ro quiet splash locale=zh_TW.UTF-8
initrd /u81/initrd
有嘗試改成「locale=zh_TW」,不過也是顯示這張圖的畫面
UGP
回覆刪除沒遇過…不過找到解決方試你試試看
Ubuntu 很忙 : 解決 8.04 LTS 安裝時掉進 BusyBox 的問題
http://metamuse.blogspot.com/2008/04/ubuntu-804-lts-busybox.html
安裝Ubuntu 8.04 Beta desktop 出現busyBox 請幫忙> < [內詳]
http://www.ubuntu-tw.org/modules/newbb/viewtopic.php?viewmode=flat&topic_id=8718&forum=1
嗯,還是不行 囧
回覆刪除iso是放在Ext3的,還是說一定要在CD檔案系統才能開啟?
我也是一樣放在ext3呀@@
回覆刪除跟你建立一樣路徑沒問題可以用@@
title Ubuntu 8.10 Live CD
root (hd0,0)
kernel /u81/vmlinuz boot=casper locale=zh_TW.UTF-8 iso-scan/filename=/u81/ubuntu-8.10-desktop-i386.iso ro quiet splash xforcevest noacpi
initrd /u81/initrd.gz
這是我目前的
title Ubuntu jaunty (development branch), kernel 2.6.28-11-generic
root (hd0,0)
kernel /boot/vmlinuz-2.6.28-11-generic root=UUID=5c7b72be-36b1-40c0-b82a-a86ab2b27af4 ro quiet splash vga=794
initrd /boot/initrd.img-2.6.28-11-generic
http://tw.archive.ubuntu.com/ubuntu/dists/intrepid/main/installer-i386/20080522ubuntu23/images/cdrom/
回覆刪除死馬當活馬醫試試看官方提供的initrd.gz、vmlinuz,這是386的amd64要改成 installer-amd64
進去了之後他會出現鍵盤設定的畫面(中文文字介面),設定完之後會說找不到光碟,不能繼續安裝,沒有試用的選項,看來官方的檔案好像只能在用光碟開機的時候使用...
回覆刪除剛剛重新想起這件事,再去看了一次設定
回覆刪除發現了一件驚人的事情:
iso檔名搞錯了,改成.../u81/ubuntu-8.10-desktop-i386.iso...
開機成功 (死)
剛剛重新想起這件事,再去看了一次設定
回覆刪除發現了一件驚人的事情:
iso檔名搞錯了,改成.../u81/ubuntu-8.10-desktop-i386.iso...
開機成功 (死)
UGP …
回覆刪除把我的青春還給我><
hepha您好^^
回覆刪除您這篇文章我引用到自己的blog上解答這篇文的問題
http://lobstershia.blogspot.com/2009/02/usbubuntu.html
謝謝您的分享,也謝謝你放了ubuntu的banner,
看到自己做的banner有人放好開心^0^