(啥? 原來的系統也是 linux? 那幹嘛要換? ㄟ...我是不能把原來的系統改裝 windows 喔 :p)
我為了想要把 linux 裝在 SD 上,然後把 windows 裝在 SSD 上,搞了一個多禮拜,因為我平常用 EeePC 還是以 windows 居多,linux 反而是有時候工作上要充當一下 linux server 用的,帶一台不到一公斤的 linux server 出去跑程式,既方便又輕鬆,而且還會讓客戶覺得很 pro :p
也因為自己搞了這麼久,爬了這麼多文,發現網路上大部份都是把 linux 裝在 SSD 上,然後把 windows 裝在 SD 或 USB 上,所以遇到我這種應用,所有的步驟就都不能用了。所以我才想說把自己的做法整理下來,如果有跟我一樣用法的人,就可以參考,不需要再自己摸索了。
(先聲明一點,我的做法是把 Linux 安裝到 USB 裝置上,而不是利用 Live mode 的方式來製作一個可開機的 USB 碟而已。裝法其實很像,但是我的方法在安裝過程比較麻煩一點,因為我是再重裝一次,所以在 USB 碟的 partition 以及建帳號部份比較有彈性。所以反而不用像 Live USB 碟是在開機以後再去慢慢修改系統。
如果是要利用 Live mode 的可開機 USB 碟來跑 linux,可以看看 pendrivelinux 這個網站,有各種版本的安裝法。)
所以我目前的配置是
- SSD 8G : Windows XP
- SDHC 4G : eeeXubuntu 7.10 r3
當然,如果你還想來個 USB 隨身碟: 另一個 OS 或者是另一片 SD之類的,請依此類推,反正就像光碟一樣,要用哪個換哪片...挺方便的 :p
ok, 廢話不多說,來說明一下我是怎麼做的,其實我覺得我的方法應該有一些問題,不過反正已經正常裝起來了,就不管了,以後有機會再最佳化。關於如何把 windows 裝到 SSD 上,我想應該不用再說了,連華碩自己都有說明,所以就跳過,直接針對如何把 eeeXbuntu 裝在外接的 SD 或 USB 隨身碟上來討論囉:
首先,先確認你準備好下列的東西:
- EeePC x 1 (廢話.....冏rz)
- SDHC卡 x 1 或 USB 隨身碟 x 1 (至少 4G (含)以上比較好,因為我是用 SDHC,所以以下的文章我就直接寫 SDHC 囉)
- 一台 Linux 電腦 (我是用 ubuntu,所以以下的步驟都是以 ubuntu 示範)
- eeeXubuntu Live CD x 1
- USB 外接光碟機 x 1 或 另一片 1G 以上的隨身碟 x 1 (如果沒 USB 外接光碟機的話,就得用 USB 隨身碟做成 eeeXubuntu Live USB碟,所以容量至少要大於 700MB,以下我就直接叫 USB碟)
接下來就是正式的步驟:
一、製作 eeeXubuntu Live USB 碟:
(這個步驟是給沒有 USB 外接光碟機的人,有的人可以跳過。)
你需要找一台有光碟機的電腦,進 BIOS 設成用光碟開機,然後把 eeeXubuntu Live CD放進去,開機。
借用一張 eeeXubuntu 7.10 r2 的開機畫面,在這裡要選第三個選項「 Start Xubuntu in safe graphics mode」
(如果是 r3 的話開機畫面不會有下面的第一個選項,所以變成第二個選項就是 Start Xubuntu in safe graphics mode,啊為什麼不是選 Install Xubuntu with eeePC? 因為這台電腦又不是 EeePC :p)

開機進入LiveCD 桌面:

選擇左下角的 Applications -> Accesssories -> Terminal 把 console 開起來
然後插入剛準備的另一片 1G 的隨身碟,準備利用此 Live CD 把這個隨身碟做成可開機的 Live 隨身碟,這樣在安裝 eeeXubuntu 到 EeePC 上的時候就不需要用到 USB 外接光碟機了。
在 console 下先輸入 sudo fdisk -l,看秀出來的訊息,確認一下 USB 隨身碟在哪個裝置,通常是在 /dev/sdb,因為 /dev/sda 應該是 EeePC 內建的 SSD。
接下來要把 USB碟設成可開機:
sudo parted /dev/sdb set 1 boot on
然後將安裝檔複製進去
sudo /cdrom/mkusbinstall.sh /dev/sdb1
eeeXubuntu 的 wiki 上寫可以用下列寫法,但是我不確定他的 autodetect 會不會把 EeePC 內建的 SSD 也當做是 USB 隨身碟,那就慘了,所以我還是習慣用上面的做法,以測安全。
sudo /cdrom/mkusbinstall.sh --autodetect
等做好後,你就擁有一個可以開機並且安裝 eeeXubuntu 的 USB 隨身碟了。
二、處理 SDHC 卡:
沒有先處理過的 SDHC 在安裝後會有一些問題,就是安裝過程可能都 ok,但是裝好後卻不能開機,最大的原因應該是因為 grub 的關係。我是參考了一堆 google 的文章,最後用這一篇文章的步驟來處理的:
首先把 SDHC 接上有 linux 的那台電腦,一樣先看看上面有幾個 partition,以下的命令請用 console 來下喔。
sudo fdisk -l
(或者用 df 也可以看到,因為通常 linux 會自動掛載 SDHC,除非你的 SDHC 原有的檔案系統是linux 看不懂的)
假設 SDHC 是在 /dev/sdc
再來把在 SDHC 上的 partition 全部 umount,這樣做的原因是因為如果你的 SDHC 原來是 fat32 格式,在插上去的時候 linux 通常會自動掛載到檔案系統上。
sudo umount /dev/sdc1
sudo umount /dev/sdc2 .... (如果不只一個 partition 的話)
然後就是重新分割 SDHC 啦
sudo fdisk /dev/sdc
(如果不會用 fdisk 的人可以裝 gparted,是圖形界面的分割工具,跟 windows 的磁碟管理有點像)
先將原本的 partition 刪除,然後新建一個 fat32 和一個 ext2 的partition。
fat32 這個 partition 我是切 700 MB,其實不一定要這麼多,只要有個能裝開機空間的部份就好了,弄個 64MB 就很大了,只是我想說這樣我開 windows 的時候還可以把這一塊拿來用,裝一些 portable 軟體在裏面。
ext2 就是把剩下的空間都弄給它,大約是 3000MB 左右,至於沒有切 swap 的原因是因為 SDHC 也不適合頻繁的寫入,所以不使用 swap 空間,反正用了也不一定比較快,反而倒是 SDHC 卡會比較快出現壞軌。
再來就是格式化 partition
sudo mkfs.vfat -F 32 -n sd1 /dev/sdc1
和
sudo mkfs.ext2 /dev/sdc2 (這一步可以不做,因為後面會再 format 一次)
都格式化完後,接下來要把開機需要的syslinux也灌進 SDHC 裡面,做這個之前要確定你用的 linux 已經有先裝過 syslinux 和 mtools 兩個 packages,如果沒有請先裝好。
sudo apt-get install syslinux mtools
(這是 debian 系列的寫法,如果你用的 linux 不是 debian 的話,就用你熟悉的方式裝吧)
安裝開機檔到 SDHC 上
syslinux -sf /dev/sdc1
這就是為什麼我要多切一個 partition 的原因,因為等一下安裝 eeeXubuntu 的時候,系統會 format 整個 ext2 partition,然後我這幾天都解決不了的問題就一再的發生,開機不能....冏rz
弄好了以後,接下來才是正式要開始安裝 eeeXubuntu 的步驟。
三、開始安裝 eeeXubuntu:
把上面幾個步驟處理好的 USB碟跟 SDHC 插到 EeePC 上,然後把 EeePC 電源打開,進入 BIOS 設定硬碟的順序,其實不一定要在這個時候就設好,只要你確定等一下開機時會以 eeeXubuntu 的 USB 開機碟開機就好,你可以靠按 Esc 鍵用選單來選也行。
開機後會看到第一個畫面,這時候輸入 live/eeepc 來進入 eeepc 專用的安裝模式。
如果用 USB 外接光碟機的人,直接把 eeeXubuntu 光碟放進光碟機裏,然後插上 EeePC,選擇用光碟開機。然後選第二個選項「Install Xubuntu with ASUS eeePC specific drivers and fixes」進入 EeePC 專用安裝畫面
(跟上面一樣,這是 r2 的畫面,r3 的話會在第一個選項)

進入 eeeXubuntu Live 模式:
首先要先設定網路,因為在 eeeXubuntu 安裝過程的最後會上網更新一些東西,網路設定在右下角,看是要用有線還是無線連網,這時候,裝 eeeXubuntu 的好處就出現了,網路卡跟設定都沒有問題,直接都抓到,而且要設定無線的話,界面也都可以直接用。
設定好網路,回到桌面上,點選 Install 那個圖示開始安裝步驟,整個過程跟上一篇我所提到的連結所介紹的都一樣,不過中間有幾個步驟要注意的,一個是在 Step 4 的地方,也就是分割 partition 的地方,在這邊你可以看到你的系統上目前有幾顆硬碟,我的情況是三顆,分別是內建的 SSD (/dev/sda)、SDHC 卡(/dev/sdb)、eeeXubuntu USB開機碟(/dev/sdc),所以我得選手動分割(Manual):

然後在手動分割選 /dev/sdb2 (記得看你的裝置在哪就改成那個路徑喔),格式選 ext2,掛載點設成 / (根目錄,不一定能用選的,我是得自己打),記得嗎,這是我們剛剛準備好要用來灌 linux 的 partition,/dev/sdb1 是 fat32 格式,準備讓 linux 可以正常開機用的。然後確認 /dev/sdb2 要 format 的那個方格有打勾,不然等一下會出錯。都弄好了就按下一步。

接著是建帳號之類的動作,都做好了就會到 Step 7,本來這邊只是讓你看一下有沒有設錯,如果沒有的話就可以直接按下一步開始安裝了。我之前也都是這樣,然後慘劇就發生了.......
因為 Ubuntu 在安裝 grub 的時候預設是裝在 hd0,在這邊的對應就是 /dev/sda,也就是 EeePC 的 SSD 卡,所以,當你這樣裝了以後,你原來在 SSD 上面的系統開機檔也可能會被 Ubuntu 的 grub 蓋掉,然後就兩個系統都再起不能.........:(
所以這邊就是關鍵點,也就是讓我弄了好幾天的原因所在。在 Step 7 的時候要選那個 Advance,就在右下角,下一步的上面那邊。
然後會跳出一個視窗問你 grub 要裝在哪,沒錯,就是這裡,這邊我們要自己輸入正確的裝置位置,在我的例子就是 /dev/sdb1 (注意,是 sdb1,就是 fat32 那個 partition,不是 sdb2 喔)
填好了後,按 ok,回到 Step 7,這時候才能選下一步開始安裝的動作。
四、最後的步驟
恭喜你,在漫長的等待後,你的工作快完成了,裝好 eeeXubuntu 後,系統重開機,這時候要立刻進入 BIOS,然後在硬碟的順序裏面把 SDHC 卡設成第一個,一定要第一個,放在第二個以後是沒辦法正常開機的。
耶,看到 grub 選單了,比之前都直接看到 hard disk error! 好太多了!!
咦? grub 選單後怎麼就出現錯誤了.....天啊....別耍我了.....
怎麼會出現 Error 15: File not found 啦~~~
別急別急,還有一個步驟要做喔,這個時候先把 EeePC 關機,把 SDHC 卡取出來,插回剛剛的 linux 電腦裏,然後看自動掛載會把 SDHC 卡掛在哪個路徑上,我的例子是在 /media/sd1 跟 /media/disk 裏。
你可以分別查看一下,哪個目錄下有比較多檔案,而且長的又很像 linux 的根目錄的,就切到那個目錄下,我的例子是在 /media/disk 裏,所以就切換到 /media/disk/boot/grub 下,看你愛用 console 或者用圖形界面的 file manager 都可以,然後 vi menu.lst 或用文字編輯器打開 menu.lst。
找到最下面這邊,開機選單的部份,應該是長這樣的:
## ## End Default Options ##
title Ubuntu 7.10, kernel 2.6.22-14-generic
root (hd1,1)
kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=02210328-32ab-4629-a7e8-c54e0519aeed ro quiet splash
initrd /boot/initrd.img-2.6.22-14-generic
quiet
title Ubuntu 7.10, kernel 2.6.22-14-generic (recovery mode)
root (hd1,1)
kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=02210328-32ab-4629-a7e8-c54e0519aeed ro single
initrd /boot/initrd.img-2.6.22-14-generic
title Ubuntu 7.10, memtest86+
root (hd1,1)
kernel /boot/memtest86+.bin
quiet
### END DEBIAN AUTOMAGIC KERNELS LIST
看到上面那些標成藍色的字沒有? 這就是問題所在,預設 grub 開機就是進入這個內容最上面那個指定的路徑,也就是選擇「Ubuntu 7.10, kernel 2.6.22-14-generic」
但是,因為我們的 SDHC 卡改位置了,現在是第一顆硬碟,所以你必須把所有的 (hd1,1) 改成 (hd0,1),這樣才能找到正確的 vmlinuz 跟 initrd.img,就不會發生剛剛那個 Error 15: File not found 的錯誤了。改好了記得存起來。
(這裡可能會有人說,那我為什麼要進 BIOS 把 SDHC 設成第一顆硬碟,然後再來改 grub/menu.lst? 因為我個人測試的結果,只要不是在第一顆硬碟的作業系統,EeePC 就無法正常開機,你沒看到原來的 menu.lst 就是寫 hd1,1 嗎? 那就是指第二顆硬碟的第二個 partition,但是如果你不改硬碟順序,用這個方式開機,我自己測的結果是連 grub 開機選單都看不到。)
最後,再把 SDHC 卡插回 EeePC,開機,進入 grub 選單,然後,期待以久的畫面就出現了...
開始開機了,這可不是 Live 光碟喔,而是真正的用 EeePC 讀 SDHC 卡的開機畫面。
終於看到這個 login 畫面,讓我超感動的 :~~~~~
到這邊所有步驟就完成了,以後你要用什麼 OS 開機,就把那個 OS 所在的卡設成第一顆硬碟,然後用它開機就 ok 了,雖然似乎沒有很完美,還得進 BIOS 切換,但是重點是我們也不會一天切換個幾十次啊,都是有需要的時候設一下 BIOS 就 ok 了。
最後有一些心得要分享一下,不知道有沒有人發現,我從頭到尾都沒去設定 EeePC BIOS 中那個 Start/Finished 的選項,因為我一直保持在 Finished。
這兩者的差別是 Start 會把 USB 設成 version 1.1,速度較慢,但是相容性比較好。而 Finished 就是讓 USB 支援 2.0。而在我安裝的過程中,使用 USB 2.0 完全沒有問題,不管是外接式光碟機或者是 USB開機碟等安裝都 ok,而且速度比 USB 1.1 快太多,從原來的三、四個小時縮短到一個小時內就可以搞定。而我安裝 windows 時用 USB 2.0 去裝中間有出現一次檔案讀不到的錯誤,按繼續後就沒事了,也可以順利把 windows XP 裝完,所以我覺得不一定要照網路上一堆人說的,一定要先設成 Start 才能安裝 OS。大家可以自己試試看,安裝速度真的差很多喔。
9 則留言:
大大你好,你寫的做法我還是看不太懂也,想請問,難到不能直接把用usb光碟開機後直接把ubuntu灌在sd卡上嗎?之後在bios中設定使用sd卡開機就好了,這樣直接跑sd卡了,請問可以這樣嗎?
是否可以分享你的msn一起討論討論
你說的做法就是我前些日子的做法。
如果這樣做,ubuntu 的開機程式 grub 只能安裝在裝 ubuntu 的那個 partition,然後你用這個 usb 來開機的時候還是會出現 hard disk error 的錯誤訊息。
我 google 的結果是,grub 最好安裝在另外一個 partition 裏,所以我才把 SD 分成兩塊,第一塊是為了放 grub 的,啊因為我平常 SD 也都插著,所以想說讓這個 partition 在 windows 下也能用,所以才弄成 fat32 的格式,反正 fat32 在 Linux 下讀寫也沒有問題。當然你要用 ext2 之類的格式來 format 第一個 partition 是 ok 的,就看你的選擇。
所以重點就是,要有兩個 partitions,第一個必須用 syslinux 做成可開機的狀態,再安裝 grub 到第一個 partition 上,這樣才能正常啟動 Ubuntu。
那如果不裝mbr的話,直接讓bios設定由sdhc開機的話,那不是可以直接指定作業系統開機就好了嗎?因為只有單一個系統那mbr不就不需要了
因為 ubuntu 的安裝過程一定會幫你裝 grub,根本沒有選項可以拿掉。除非你改用其他版本的 linux ,找那種可以選擇要裝 lilo 或 grub 或甚至都不裝的...不然的話還是沒辦法跳過安裝 mbr 這一段
另外,mbr 不是只為了多重開機所用,當然他的一個功能是支援多重開機,像一般的 linux,裝好以後就不只一個選項,至少會有一個正常的開機,一個是 failsafe (像 windows 的安全模式),甚至你要安裝新的 kernel,也常透過多重開機的方式去安裝,最主要的原因就是,linux 的 kernel 沒有固定的位置,所以只能透過一些開機程式來輔助,去讀取真正該讀的 kernel 檔。
方便請問,這樣開機要多久?之前灌在SSD要一分多鐘,但還是可以接受,謝謝
我目前測的時間是一分鐘以內,我用的是創見的 4G SDHC卡 class 6,給你參考一下。
請問一下 那可以把xp灌在ssd eeepc原系統灌在sd 那可以把xp灌在ssd eeepc原系統灌在sd 方法是相同的嗎??
平時在家給小孩玩~用eeepc原系統就可以~~我帶出去的話就使用xp~~
在installing system的coping file过程进行到24%的时候我遇到了读写错误然后安装过程只好被终止(是移动硬盘。但愿不是它坏了),错误提示如下:
"The installer encountered an error copying files to the hard disk:
[Errno 5] Input/output error
This particular error is often due to a faulty CD/DVD disk or drive, or a faulty hard disk. It may help to clean the CD/DVD, to burn the CD/DVD at a lower speed, to clean the CD/DVD drive lens (cleaning kits are often available from electronics suppliers), to check whether the hard disk is old and in need of replacement, or to move the system to a cooler environment."
使用HD Tune2.54检查移动硬盘没有任何坏道。
張貼留言