HDD GPT磁盤上的WIN7無損遷移到SSD MBR磁盤


遷移計划:
 
說明:
  • 為了方便,本教程中的部分圖片是在虛擬機中截取的,只做示意,僅供參考,但是本教程的方法是可行實用的,在我的華碩A53SV上已經成功實踐
  • 對於本教程所造成的數據損失等一切后果,本人概不負責
  • 遷移系統前,請做好數據備份,以防萬一。
 
遷移步驟
 
一、.分區
1.將SSD插入到系統內置硬盤的位置,系統原來的硬盤HDD,掛接到光驅位硬盤架上
2.開機啟動到HDD的系統
3.打開磁盤管理工具,會提示“初始化磁盤”,將其初始化為MBR格式的磁盤
4.手動給SSD分區,情況如下:
 
  • 100MB fat32分區,是引導分區,存放win7的引導文件,並且將該分區標記為活動分區,按微軟的說法,MBR磁盤上的活動分區,稱為系統分區
    PS:如果不喜歡將win7的引導放在單獨的分區,方法如下:
    #不要建立100MB分區
    #將win7分區(SSD上win7系統所在的分區)標記為活動分區,此時該分區就是系統分區
    #其它步驟相同
  • 40.92GB的ntfs分區,為SSD上系統所在的分區,教程中我稱它為win7分區
    PS:不能稱為系統分區,因為在微軟的概念中,對於MBR磁盤,系統分區就是活動分區
  • 70.77GB的ntfs分區,用來安裝一些程序,稱為程序分區
    因為我們是遷移系統,所以該分區中的數據,是從原HDD系統中,安裝程序的分區復制過來的數據。
5.介紹一下我原來HDD的系統中的分區情況:
    
 
HDD上的win7是基於GPT磁盤EFI引導的。
  • 100MB的分區為EFI分區
  • 50.10GB的ntfs為安裝win7的分區,本教程稱為win7分區
  • 195.31GB的ntfs U:盤,這是安裝第三方程序的分區(包括游戲),稱為程序分區
    PS:這里的數據將為遷移到SSD的程序分區
  • 195.91GB的ntfs E:盤,這里存放一些電影,歌曲等數據,該分區不會遷移到SSD
  • 24.22GB無格式的分區,這是MAC LION系統的分區,這個與該教程無關,不處理該分區
關於系統分區的解釋(引用自微軟官方對於bcdboot的幫助文檔):
 
  • 在基於 BIOS 的系統上,系統分區是使用主引導記錄 (MBR) 磁盤格式的磁盤上的活動分區。BCDboot 會在系統分區上創建 \Boot 目錄,並將所有需要的引導環境文件都復制到此目錄中。
  • 在基於統一可擴展固件接口 (UEFI) 的系統上,EFI 系統分區是使用 GUID 分區表 (GPT) 磁盤格式的磁盤上的系統分區(我的注釋:其實就是EFI分區,從diskpart的create partition的幫助中可以看出來)。BCDboot 會創建 \Efi\Microsoft\Boot 目錄,並將所有需要的引導環境文件都復制到此目錄中。
 
 
二、.將HDD上的系統所在分區Ghost 到SSD上的 win7分區
直接把windows分區的所有文件復制到SSD分區
    應該需要在PE,或者windows RE環境下復制
 
    為了容易識別SSD上的C分區,win7上,在該分區建立一個文本文件:SSD-C.txt
  
 
RE下使用xcopy    直接復制文件的方法,有部分文件沒有復制過去
不推薦該方法
 
3.制作USB TOOL
 
大概是說無法使用bootsect.exe
原因:目前的系統是在GPT磁盤上基於EFI引導,bootsect不可用
 
放棄使用USB TOOL
 
改用PE
 
用urtalISO直接將win7 鏡像寫到U盤(唉,還是用了第三方工具了),無法修復啟動錯誤:缺少nls數據
用系統備份的鏡像恢復的話,就會把磁盤恢復成GPT
 
改用PE+Ghost吧
 
 
2012年7月7日 13:31:05
ghost成功
 
1.制作一個可啟動的PE  U盤
    具體步驟,查閱你所用的PE的幫助文檔
2.將HDD上的 win7分區克隆到SSD上的 win7分區(幾乎所有的第三方PE,都會包含該工具)
     PS:這里我們使用手動GHOST工具,而不用一鍵GHOST工具。
 
  •     打開GHOST工具,
    依次選擇菜單:"Local-Partition-To Partition"
    意思是,從分區到分區的克隆,如圖:


  • 克隆過程
    #選擇克隆的源磁盤,本教程就是HDD磁盤,可根據大小判斷



    #選擇源磁盤上的源分區,本教程就是HDD上的win7分區



    #選擇ghost的目標磁盤,本教程就是SSD磁盤



    #選擇克隆的目標磁盤的目標分區,這里就是SSD上的win7分區



    #確認執行克隆操作,請點擊Yes
        PS:確認對話框中提示:目標分區將會被重寫。

 
三、. 修復克隆到SSD上的系統的 引導
 
 
2012年7月7日 14:42:44
1.ghost成功后,需要修復引導
 
2.此時兩塊硬盤上有2個系統,原來HDD系統會占用C盤符,SDD上的系統所有分區會變成其他盤符(我的是Q)
這就導致一個問題,如果你把HDD上的C盤符刪掉,將會導致SDD上的系統,無法進入桌面,因為SDD上的系統是HDD上的Ghost
 
這時,就要修改注冊表
todo:等待有網絡了,從手機的為知上同步過來需要修改的地方
 
#用ultra iso將win7鏡像寫入到U盤
 
#用U盤啟動電腦,出現選擇語言界面的時候,按 shift+f10調出命令提示符
 
# 修復SSD上的win7 引導
    bootsect /nt60 sys /mbr
    說明:
  • 參數 /nt60 將系統引導切換為bootmgr,也就是win vista ,win 7的引導    
  • 參數 sys     更新系統分區的主引導代碼
                        對於MBR磁盤,系統分區就是激活的分區,
                        因此不管你是單獨分區存放引導文件,還是在安裝win7的分區存放引導文件,都沒有關系,只要激活單獨的分區,或者激活安裝win7的分區,就可以了。
                       
  • 參數 /mbr 將更新 sys 參數指定的分區所在磁盤的的mbr為符合win7引導的mbr
  • bootsect /help 可以查看bootsect的幫助,雖然是英文,不過不難懂
  • bootsect命令,對於GPT磁盤無效,其實GPT磁盤的引導修改是很簡單的,直接使用bcdboot重建BCD數據,bios就會自動找到win7 引導所用的efi文件。
 
# 重建bcd數據
      PS:
  • 修復SSD上win7的引導后,MBR磁盤只是具有了引導WIN7的功能,但是SSD上的win7還是無法啟動的,因為,還沒有引導文件以及引導數據(bcd數據)。
  • 克隆到SSD上的win7沒有引導文件及bcd數據的原因是:HDD上的win7是基於GPT磁盤efi引導的,引導文件以及bcd數據都是存放在efi分區的,我們遷移到MBR磁盤后,需要重建引導文件
     
    bcdboot x:\windows /l zh-cn
     說明:
  • 參數 x:\windows  x代表ssd上的 win7分區的盤符
  • 參數 /l 指定引導菜單所用的語言,zh-cn代表簡體中文,不指定的話,可能會是英文,如果是英文的話,后續可以通過bcdedit命令修改
  • 該工具,如果不指定 bcd數據存放位置的話,會默認放置到 系統分區
  • 使用 diskpart命令查看某個分區的 盤符
    select disk 0--------------------選擇磁盤,請選擇你要查看的分區所在的磁盤,可根據磁盤容量確定
    select partition 1----------------選擇分區,請選擇你要查看的分區,可根據分區容量確定
    detail partition------------------顯示分區信息,其中包括分配到的盤符,圖中LTR字段,就是盤符
    assign letter=x------------------分配盤符x給所選擇的分區

#修改注冊表
PS:
  • 此時兩塊硬盤上有2個系統,原來HDD系統會占用C盤符,SDD上的系統所在分區會變成其他盤符(我的是Q)
    這就導致一個問題,如果你把HDD上的C盤符刪掉(或者格式化了HDD的win7分區),將會導致SDD上的系統,無法進入桌面,因為SDD上的系統是HDD上的克隆,它會去找C盤(在HDD磁盤上)的一些數據
  • 經過前面的步驟,現在已經可以啟動SSD上的win7系統了
  • 啟動SSD的win7系統:
    °HDD的系統是基於EFI引導的,因此,在bios的引導菜單上顯示的是windows boot manager
    °在計算機啟動的時候,按某個鍵(主板不一樣,這個按鍵是不一樣的,請查看你的主板說明),調出bios引導菜單,選擇你的SSD磁盤的名字,即可從SSD啟動,引導至SSD的win7系統
   啟動SSD的win7系統后,打開注冊表,定位到
        HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
    在右邊的最下面可以看到
         \DosDevices\Q:
    我的SSD的win7分區,現在是Q盤符,需要修改為C盤符
        在 \DosDevices\Q:單擊右鍵,選擇重命名,修改為:
         \DosDevices\C:
    如果已經有了 \DosDevices\C:, 請先將\DosDevices\C:重命名為
          \DosDevices\X:                     這里的X代表其它盤符,請自行選擇不在使用中的
 
    
 
 
四、重啟計算機
    1.重啟電腦, 設置bios,將第一引導設備調整為你的SSD磁盤,重啟電腦
 
    2.刪除HDD上win7分區的盤符,重啟電腦,查看是否正確
 
    3.使用bcdedit命令查看一下bcd數據
        如圖:
        {current}項中的
        device partition=C:
        path \windows\system32\winload.exe
        
        如果是這樣,基本就沒有問題了。        
 
        
 
   4.如果沒有問題,可以刪掉HDD上的系統win7分區,做為他用了
 
 
 






免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM