星期一, 7月 16, 2012

安裝 Kubuntu 12.04 於 技嘉B75M-D3H

當時所買預裝Windows Vista的品牌機,不知不覺已經5年了。這台電腦之前就有間歇性無法啟動的狀況,這幾個月更是完全不能開機。我想5年應該也算夠了,打算直接組一台新電腦。爬了PTT電蝦板(PC_Shopping)和同學提供的建議,我組了底下這台電腦。雖然說是組,只是把零件選好,請店家幫忙組裝。

CPU (中央處理器):Intel Pentium G840
MB (主機板)     :Gigabyte B75M-D3H
RAM (記憶體)    :金士頓 DDR3 4G-1333 *2
VGA (顯示卡)    :無
HDD (硬碟)      :沿用(WD 2500AAJS+WD 10EALS)
DVD-RW (燒錄機) :沿用
PSU (電源供應器):全漢 藍晶鑽二代 350W
CHASSIS (機殼)  :Source 210 Elite (白)
因為主要系統是Linux,而且不玩PC Game,因此使用內建顯示晶片的Intel Pentium G系列就足夠了。再者,Intel在驅動的支援上也比Nvidia友善。老實說以我自己的需求,還擔心這樣組規格太高,沒想到菜單一貼出來,有人卻勸敗SSD或Ivy Bridge的處理器。我想買太好用不到也是浪費,加上自己到現在還沒打工,光是有得買就夠幸運了。

關於選電腦的過程或是自嗨的內容,我打算留在下一篇再講。在這篇中,我想要講一講關於在Gigabyte B75-D3H這張板子上跑Kubuntu的狀況。B75是Intel今年發表的7系列晶片組之一,雖然主要是瞄準商用,然目前也流入零售市場,相較於H77稍微低價。 雖然有便宜的H61可以選擇,然而想要有原生的USB 3.0搭配19 PIN接機殼,而且反正要買,就想買新一點的東西。

然而對於Linux,最大的問題莫過於是新硬體的支援。雖然Intel長期貢獻Linux核心,然而這並不代表新晶片可以馬上被支援。明明PTT上還有網友熱心提醒我這點,我卻還是選了B75。(默)雖然搜尋過網路上的文章,Phoronix的評測表示7系列的晶片組已被支援,有些H77的使用者在升級核心到3.3之後,不穩定的狀況也獲得解決。然而對於B75的資訊,可說幾乎沒有,於是我就來當白老鼠了。

要注意的是,這篇文章題到的是這塊板子的支援度,不確定其他B75晶片組的主機板是否雷同。此外,我選的CPU是Sandy Bridge架構,而非新的Ivy Bridge,支援度可能也會不同。雖然我想不會有太大問題,不過可以的話,建議還是先用Live CD或Live USB測試。



簡單來說
幾乎可說是沒有問題,除了兩個錯誤將在後面詳述。

搬回家後先不安裝硬碟,直接以Live USB開機,過程意外地順利。沒有找不到驅動程式的問題,甚至在Live USB內已預裝了Intel顯卡的驅動,直接用 Firefox + Youtube HTML5 模式播放1080p的影片也沒有問題,整體的體驗很棒。

安裝
然而當我裝入硬碟後,舊的系統不能直接啟動,原來的系統碟還出現「Error: hd0 out of disk.」的錯誤訊息。更讓我錯愕的,連Live USB都進不去。雖然我懷疑過,問題出在讀不到硬碟而time out。(後述)

後來在筆電重新做一份Live USB之後,就成功開機了。說真的真正原因到底為何,現在還不太清楚。

舊的硬碟使用MBR分割,然而這張主機板支援UEFI,我不確定是否會發生問題,因此當時抱著裝裝看的心情,沒有重新分割或改用GPT,直接把舊的根目錄格式化以安裝新系統。安裝過程與一般無異,也頗順利。

然而第一次開機時,出現「Grub Rescue: invalid arch independent ELF magic」錯誤,無法進入系統。幸好在網路上找到有效的解決方法,將在後述。


「Grub Rescue: invalid arch independent ELF magic」錯誤
看到這段錯誤訊息,感覺是踩到了UEFI的問題,不過根據解決方法,其實只要重新裝一次普通的GRUB就可以解決。

參考資料是底下這篇

解决Grub Rescue: invalid arch independent ELF magic问题 - LINUX - 厦门大学数据挖掘研究组论坛
根據我的猜測,由於這張主機板支援UEFI,因此安裝程式自動選擇支援EFI的grub-efi。然而,可能是我在BIOS中沒設定好,或是在這顆硬碟使用傳統的MBR,所以不能以UEFI模式開機。不過老實說,我對UEFI和GPT的關聯和運作方式還不甚了解,有錯的話還請更正。

1.先用以下指令確認分割狀況。例如底下是這台電腦的結果

$ sudo fdisk -lu /dev/sda

Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488397168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00054704

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1              63    83891429    41945683+   5  Extended
/dev/sda2        83891430   209728574    62918572+  83  Linux
/dev/sda3       209728575   398476259    94373842+  83  Linux
/dev/sda4       398476260   488392064    44957902+  83  Linux
/dev/sda5             126    41415569    20707722   83  Linux
/dev/sda6        41415633    41945714      265041   82  Linux swap / Solaris
/dev/sda7   *    41945778    83891429    20972826   83  Linux
其中紅字的部份,就是我安裝根目錄(/)的位置,當然結果會依安裝過程而有不同。嗯......我承認系統安裝在邏輯分割區,還有Boot Flag放在家目錄的sda7頗怪,不過用起來沒有大問題就是(默)。

2.移除grub-efi,掛載硬碟的系統後重新安裝一般的grub。不過我蠻好奇,第一行移除的是Live USB上的grub-efi-amd64?底下直接複製參考來源的內容
$sudo apt-get remove grub-efi-amd64    #移除grub-efi
$sudo apt-get install grub-pc          #安裝普通的grub
$sudo mount   /dev/sda5   /mnt             #掛載根目錄
$sudo grub-install --root-directory=/mnt    /dev/sda   #安裝普通grub到sda
其中sda5請依實際位置做調整。此外,假如/boot有獨立分出一個分割區,在mount根目錄之後,還需要再將/boot的所在分割區掛載到 /mnt/boot ,例如
$sudo mount /dev/sda5   /mnt 
$sudo mount /dev/sda*   /mnt/boot
在重新安裝GRUB之後,重新開機應該就能正常進入系統了,至少我的經驗是這樣。如果出現亂碼之類的問題,可以考慮在系統內執行指令,更新grub。
$sudo update-grub
除了這一大串指令,也許可以試試看圖形化介面的boot-repair,對於修復grub應該頗方便。只是不確定,這東西會不會自動改裝普通的grub,而非grub-efi。

「Error: hd0 out of disk. 」錯誤(應不是主機板的問題)
解決grub的問題後,運作都很順利。然而拆開機殼調整排線後,又無法開機了。

狀況與前述類似,以系統碟開機時,出現「Error: hd0 out of disk. 」的錯誤訊息。Live USB也無法進入系統,不過從開機過程的訊息來看,似乎是Live USB的系統試著掛載硬碟,然而time out。

最後的解決方法是斷電,重接一次SATA排線,就進入系統了。但進入系統時,檢查硬碟的fsck表示根目錄的檔案系統有錯誤,按下f修復後重新開機,一切正常。之後順手用boot-repair重裝grub,以及用gnome-disk-utility掃描硬碟,也都OK,到目前也是正常運作中。

由這裡看來,應該不是主機板相容性的問題,只是排線沒接好而已。不過我也不確定其他部份是否有問題。此外,造成同樣錯誤的原因,在網路上也搜尋到不少,所以這不會是唯一解。

其他
之後的部份就跟平常設定系統沒有差別了。只是Ubuntu 12.04使用的核心是3.2.12版,如果有需要,或是發生當機的狀況,可以考慮更新到3.3甚至更新的版本。相關的方法可以Google一下,除了我所介紹的以外,還有其他的方法或來源。

我參考底下的文章,更新到3.5.0-4,在這台桌機和筆電都運作正常。在筆電上甚至終於支援alps觸控版的多點觸控,只是無線網卡驅動要另外抓
Download links for Quantal kernel for precise LTS | Ubuntu QA

2 則留言:

  1. 以後買新機器的時候做參考~雖然下一台不一定會買全新的…不過如果買新的一定會有UEFI的問題。

    回覆刪除
    回覆
    1. 現在的主機板幾乎都有UEFI了,不過各發行版本似乎也有針對此做改善的計畫。也許以後的版本會比較好一點?

      刪除

歡迎光臨本月台,留言時請遵守以下幾點:
1.請不要張貼商業廣告,不然環保局會開單
2.用什麼語言留言都可以,只不過我不一定看得懂。
火星文、注音文可能因為難以解讀而不與回覆