SSD硬碟安裝 Linux Mint 14 與 Windows 7 及舊硬碟問題

  日前購買了一顆Micron M4 64G SSD硬碟來做為系統硬碟使用,安裝方面並不會很困難,只是稍微麻煩一點,以下是硬體及系統環境:


硬體:
  • MB:P5B-Plus
  • RAM:2G
  • HD:WD-1TB
  • Micron-Crucial m4 SSD 64G
  • (兩者皆為SATA介面)
系統: SSD 和WD上皆有
  • Linux mint 14
  • Windows 7
主要步驟:
  1. 關機,拔去所有STAT介面的硬碟機,只留下SSD硬碟。
  2. 到主機板BIOS將「儲存裝置溝通硬體機制」設定成為AHCI模式,請參考您的主機板手冊。
  3. 先安裝Windows 7 後才安裝 Linux Mint 14 (這對於Linux的使用者來說應該是常識了)。
  4. 以SSD硬碟開機,進入Windows 7 進行刷韌體以及後續調教。

  相關教學請參考其他高手的文章,這邊不多贅述。弄到這邊後基本上沒什麼問題了,可以好好享受SSD所帶來的超高速快感,Windows 7開機不用13秒,Linux Mint 14甚至不用10秒。而這台電腦除了SSD以外,其餘配件都是4-5年前的裝備,不難想像SSD有多強大。

  但問題來了,當我把舊的WD-1TB硬碟也插進主機板,SSD做為Master,WD-1TB做為Slave(相關SATA插槽設定請參考您的主機板手冊)後,居然開不了機了? 會卡在BIOS偵測硬碟的地方,必須換回IDE模式才能正常讀取兩顆硬碟,但如果這樣設定絕對會犧牲SSD的效能(AHCI模式才能完整發揮SSD的效能)。如果在AHCI模式下單獨用WD-1TB做開機碟,這顆舊硬碟的Linux Mint 14可正常開機,但Windows 7 則沒辦法。

  後來參考鳥哥的網站後才找到可能的原因。原來開機時,BIOS除了會偵測儲存裝置以外,也會偵測這裝置上的「MBR」(Master Boot Record 主引導磁區),我的情況可能是主機板BIOS偵測到SSD硬碟上的MBR後,又在WD-1TB硬碟上偵測到舊的MBR而發生錯誤。至於為什麼兩顆硬碟已經分好Master和Slave的SATA卻沒有發生功效,這點有待調查。可能是沒有強制性吧?過去只有一顆硬碟的情況下,SATA不管插Master或Slave都可以啟動。

如果您與本人發生相同的問題,可以試看看刪除WD-1TB硬碟的MBR磁區。

  1.  單獨插入WD-1TB硬碟(您的舊硬碟)進入BIOS設定IDE模式,設定USB隨身碟開機。
  2.  插入一個Linux Live CD/usb (這裡以Linux Mint 14 USB開機碟為例,相關製作方法請參考網路文章)
  3.  進入usb系統後,啟動終端機輸入「sudo fdisk -l」 (以下指令必須於su模式或用sudo才能執行)
  4.  系統會偵測並回應目前掛載的所有儲存裝置,此時應該可以看到您舊硬碟的代號,假設為/dev/sda 
  5.  參照以下指令:
    先備份硬碟MBR 
    # dd if=/dev/sda of=/tmp/mbr.bak bs=512 count=1
    (將/dev/sda 的MBR 備份到/tmp後取名為mbr.bak ,即備份磁碟開頭512Byte的MBR區)(最好將mbr.bak存到隨身碟的其他區域比較安全,因為Linux Mint USB重開後將復原到原始狀態)

    方法一:刪除硬碟的MBR 
    # dd if=/dev/zero of=/dev/sda bs=512 count=1
    (抹除 /dev/sda 512 bytes的資料)

    方法二,刪除MBR中的開機資訊
    # dd if=/dev/zero of=/dev/sda bs=446 count=1
    (抹除 /dev/sda 446 bytes 的資料)

    說明:
    磁區(Sector)為最小的物理儲存單位,每個磁區為 512 bytes;
    第一個磁區最重要,裡面有:
    主要開機區(Master boot record, MBR)佔有 446 bytes
    分割表(partition table)佔有 64 bytes。
    剩下的2 bytes為有效標誌資訊。
    《鳥哥的私房菜》

    因此我們可以抹除MBR開頭的446bytes,讓硬碟失去開機資訊而保留分割表資料。

    如果後悔了可以還原硬碟MBR
    # dd if=/tmp/mbr.bak of=/dev/sda bs=512 count=1
    (將/tmp/mbr.bak 復原到/dev/sda上)
    @解釋: if=輸入 of=輸出@ MBR相關知識

  以上若一切順利,請重開機將BIOS設定AHCI,SSD做Master,舊硬碟做Slave,之後就能用兩顆硬碟正常開機了。但SSD開機後如果很不幸的發現Windows7有抓到舊硬碟卻沒出現在電腦裡,也不用擔心,請到:

  • 控制台>系統及安全性>系統管理員工具>建立及格式化硬碟分割

  就能找到這顆硬碟了,如果您不想保留舊硬碟的資料,就把它格式化並建立新的分割吧!但如果您和本人一樣,刪除MBR之後才發現連上面的分割表都被刪掉了,也不用擔心,因為分割表可以重建的。

Linux系統下的方法: TestDisk (以Linux Mint 14為例)
#apt-get install testdisk
#testdisk
[ No Log ] 筆者的選擇,視您的需求是否要存log檔案。
[ Intel ] 分割表格式
[ Analyze ] 開始分析
順利的話掃描之後,硬碟的分割表就會重現出來。(掃描速度視硬碟大小而異)
如果沒問題的話,就按下 [ Write ] 後重開機吧!
Windows7 下的方法:
用一種叫 DiskGenius 的軟體,有分免費與專業板,似乎只有專業板提供操作介面,免費板只有DOS。相關的使用教學網路上已有眾多高手發佈,這邊筆者沒有用過所以不加贅述。

相關教學與網站:
DiskGenius官方網站
阿不辣的酸甜苦辣 - 磁區(Partition)救援好幫手 -- DiskGenius (綠色免安裝)

  以上就是我安裝SSD以及將舊硬碟裝回去的過程,如果您與筆者有相同的問題與麻煩,翻遍Google和各大討論區卻找不到答案的話,希望這篇對您有幫助。內容有誤希望不吝指正。

-20131031更新-


留言

  1. 這篇文章救了我!!!
    實在太感謝您呢!!!!

    回覆刪除

張貼留言