win10下遷移EFI分區表


前言

在硬盤價格大跳水的時代,一台筆記本裝載兩個硬盤已經是很稀松平常的事,有的游戲本甚至內置了4個硬盤插槽。但是在雙盤場景下,有時候會莫名遇到系統文件和EFI系統分區表(可以理解為MBR的變種)分離在2個硬盤中的問題。大部分時候這都沒什么,不會有任何問題,直到我們想要換掉其中一個硬盤或者電腦送維修的時候。當售后客服提醒我,工程師可能會進入系統檢測的時候,我才發現事情並不簡單,考慮到數據磁盤中500G的學習資料和工程師小哥的身體,我決定拆下數據盤,僅保留系統盤,再送修。然后,BOOM~,計算機開始報錯“無法找到系統啟動驅動”,電腦再也無法啟動。究其原因,就是上面所說的,EFI系統分區表在數據盤中

思路

思路基本很明了啦,就是想辦法把EFI分區表遷移到系統盤中

雖說是遷移分區表,實際上我們的解決思路是重新創建一個,分2步:首先創建一個EFI系統分區,然后從X:\windows(即系統鏡像,每個人的系統盤位置不同,一般情況是C盤)復制啟動文件到EFI分區,最后通過BIOS修改第一順序啟動盤即可。

這里涉及兩個工具,且都是win10自帶的——Diskpart和BCDBoot。diskpart是win10內置磁盤管理工具,我們平常的創建分區、分配盤符、格式化分區等基本操作,都可以通過該工具實現。詳細指令可以參考這里。bcdboot是一個用於設置系統啟動分區的工具,詳細指令參考這里

具體操作

創建分區

首先以管理員身份打開windows terminal
執行diskpart指令,可進入Diskpart界面

然后執行以下指令,

list disk #列出全部的磁盤

select disk {index} # 選定你想要創建的EFI系統分區的磁盤,{index}表示硬盤索引號,如0、1、2等

list partition # 列出當前磁盤的全部分區

select partition {index}# 選一個還剩至少100M的磁盤分區,{index}為分區索引

shrink desired=100 # 申請100M空間,EFI分區表標准都是100M

create partition efi size=100 # 創建efi分區,大小為100M

format quick fs=fat32 #格式化分區為fat32文件系統

assign letter=s # 掛在當前分區盤符為s(為了避免和常用的cdef等卷名重復)

list volume # 列出當前磁盤的全部卷,驗證是否成功創建S盤

exit

復制EFI啟動文件

bcdboot C:\windows /s S:

該指令的意思是,復制系統盤C:\windows下的啟動文件,到S分區(也就是上面創建的EFI分區),其中/s是復制啟動文件的選項指令。

最后,進入BIOS界面(一般是_F2_或者_Del_按鍵),修改第一啟動順序即可。至於數據盤中的EFI分區表,你可以使用diskpart的clean指令刪除掉,或者干脆不用管。這個分區一般是隱藏的,占用空間也不大,留着也無傷大雅。


免責聲明!

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



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