Diskpart 為未與磁碟區關聯的分割區指派磁碟機代號 (Windows 10)

Diskpart 為未與磁碟區關聯的分割區指派磁碟機代號 (Windows 10)

在 MBR 發生問題導致啟動混亂之前,我的磁碟上曾經有 3 個磁碟區。

現在我正在嘗試重建啟動環境以保存所有數據,但似乎所有數據都丟失了。我可以透過命令提示字元看到資料(來自Windows 10 DVD)

我正在嘗試執行 bcdbootc:\Windows /m {guid}但它不起作用

我也跑過:

bootrec /fixmbr (success / no error)
bootrec /fixboot (success / no error)
bootrec /rebuildbcd (failes with error "The requested system device cannot be found") 

我可以找到很多有關如何將驅動器號分配給卷的信息,但無法找到如何將驅動器號分配給分區或使分區與卷關聯的信息。

當透過 diskpart 選擇分割區時,我的“詳​​細資料”部分告訴我:“沒有與該分割區關聯的磁碟區。”所以我想一定有一種方法可以將它與一卷連結起來。但如何呢?

Info: 

list disk : 1 entry 465GB 0 B free

list part : 3 entry 
part 1 reserved 128MB offset 1024kb <- this used to be my boot-partition
part 2 System   465GB offset 129MB
Part 3 Recovery 450MB offset 465GB

list vol : 3 entry
Vol # LTR
Vol 0 D   UDF DVD-ROM 3894 MB healthy  <- (this is where my 128MB boot part used to be)
VOL 1 C   NTFS Partition 465GB healthy Hidden
VOL 2 E   NTFS Partition 450MB healthy hidden

我該如何繼續恢復啟動?

答案1

使用後我遇到了同樣的問題gpartedntfs克隆diskpart> list partition顯示我的所有分區,但它們未列出diskpart> list volume且不與字母關聯。

找出您需要將哪個分區 X 與字母關聯:

diskpart> list partition
diskpart> select partition X
diskpart> detail partiton  # I found that partition was hidden

如果您的磁碟有 GPT 表,請設定分區類型 GUID作為微軟基本資料分割區(相應的g磁碟分區類型為0700):

diskpart> set id=EBD0A0A2-B9E5-4433-87C0-68B6B72699C7

如果您的磁碟位於 MBR(07= Windows NT NTFS;17= 隱藏;27= OEM 復原):

diskpart> set id=07 override

現在你可以再試diskpart> list partition一次。bcdboot c:\Windows對我來說效果很好。

答案2

天啊,小心點!

聽起來並不是“一切都失去了”,但聽起來你只是模糊地知道自己在做什麼,並且正在繼續。這就是「一切都失去了」的秘訣。

詳細地說,聽起來您可以存取絕大多數數據,但啟動時遇到問題,總體來說這是一個更簡單的修復方法。但如果您不小心,您可能很容易丟失絕大多數資料。

首先,這將有助於確保您了解一些基本術語。 MBR 是磁碟上的第一個磁區。 「MBR」風格的分割佈局可以處理高達 2 TB 的驅動器,而且看起來您正在處理比這更小的驅動器,因此您可能確實使用的是 MBR,而不是較新的 GPT 格式。

MBR 的兩個主要工作是具有一些初始引導程式碼(電腦遵循的指令),以及具有 64 個位元組的資訊來儲存最多 4 個分割區的詳細資訊(每個分割區表條目為 16 位元組)。

這 64 位元組的資訊可能非常重要。如果您弄錯了其中一些詳細信息,作業系統可能無法正確理解有關分區的一些詳細資訊。由於作業系統通常寫入磁碟,因此這種誤解可能會導致寫入不正確的詳細訊息,從而損害您存取資料的能力。所以,在這裡小心是非常關鍵的。

「分區」基本上是一組邊界。您指定起始磁區、結束磁區或大小。無論哪種方式,您都會得到一個起始邊界和一個結束邊界。

“卷”,有時稱為“檔案系統”,儲存您的實際資料。卷需要存在於分區的邊界內。

現在通常發生的情況是作業系統檢視分割區,並假設磁碟區從分割區的開頭開始。此外,分區指定了一個“類型”,這意味著它是關於正在使用哪種類型的捲的有力線索。

如果作業系統找不到該卷,可能有多種原因。一是分割區的起始磁區錯誤,因此無法正確找到磁碟區的起始位置。另一種可能性是使用了不正確的“類型”,因此作業系統不知道如何與其正在使用的磁碟區進行互動。另一種可能性是磁碟區已損壞,因此作業系統無法找到與作業系統檢查的某些詳細資訊相符的磁碟區。

在我的系統上,它使用GPT,這可能會導致一些細微但顯著的差異,“系統”驅動器是小驅動器(千兆字節以下),而我的重要數據存儲在大分區上,該分區顯示為「主分區」 “ 類型。 「系統」類型未指派磁碟機號(儘管更改起來並不太難或有問題...我建議為其分配一個高磁碟機號,例如 S:,而不是 C: 或稍高一些。我還建議避免使用X: 因為我認為Windows 啟動磁碟喜歡使用它。

由於您的系統卷甚至沒有顯示,對我來說這表明它已損壞。您可能需要恢復它,提供啟動文件的新副本。這可能不像使用 BCDEdit 那樣容易修復,BCDEdit 基本上只是嘗試進行細微的更改。您最好的選擇可能是簡單地重新安裝作業系統(甚至安裝到同一磁碟機上),這應該完成以下幾件事:將新的(且未更新的)Windows 副本放在您的硬碟上(這可能能夠只是覆蓋(甚至可能就地覆蓋)當前安裝)並調整啟動能力。

可能有一種更簡單/更簡單的方法,但我建議為不存在的可能性做好準備。

但是,我強烈建議您先進行完整備份。如果可能的話,我什至建議您不要只備份一些看起來很重要的文件,而是獲取整個驅動器的“取證”/“逐位”映像(到另一個驅動器上,該驅動器至少與大的)。這樣,您就可以放心,在嘗試進行任何更改時不會丟失重要數據,並且在任何嘗試出錯時都可以恢復。

看過你與 GuitarPicker 的對話後,我並不像它那樣擔心你的 DVD 光碟機出現。我認為這只是由於未檢測到您的啟動分區而發生的;如果偵測到您的啟動分割區,DVD 將自動分配一個更高的磁碟機號,不會有任何問題。使用 SET ID 可能確實有幫助(要尋找現有 ID,也稱為類型,您可以選擇一個分割區,然後說 DETAIL PARTITION)。但您確實說過,「我再次嘗試使用 diskpart 刪除啟動分割區並重新建立它」。這裡的問題是,當您刪除啟動分割區時,您實際上告訴電腦停止追蹤該分割區上的任何數據,例如用於啟動的關鍵數據。然後,即使您確實建立了一個被歸類為啟動分割區的正確「類型」的新分割區和磁碟區,您仍然缺少用於啟動作業系統的資料位元。將資料載入到啟動磁碟機上的典型方法稱為「安裝作業系統」。

雖然可能有某種方法可以從另一台電腦移植此類引導數據,但某些數據可能需要放置在卷上的特定扇區中(這是一個挑剔的細節,除非處理引導文件,否則通常不會引起關注),並且所以這可能會或可能不會像嘗試做一個基本副本那麼容易。換句話說,這種移植可能會出現問題,因此不建議新手使用這種方法。

注意:我確實閱讀了您關於從 Win7 轉到 Win10 的評論。您可能只需在現有驅動器上安裝 Win10 就可以了,如果幸運的話,您現有的許可甚至可能會保留,在這種情況下,您甚至可能不需要大驚小怪地完成 Windows 7 安裝。但是,看在上帝的份上,為了確保你不會讓自己陷入任何新的傷害世界,在備份之前就不要考慮嘗試這一點。我知道這樣的任務可能會很煩人(尤其是需要花錢),但我再次強調這個問題,因為有時備份比一般情況更值得做,而這就是其中之一。因此,我強烈建議您做明智的事情,即在進一步清理之前投入時間/精力/物資。

答案3

分區類型似乎不正常。在繼續之前,請使用 CloneZilla 啟動磁碟等逐位備份程式獲得良好的備份,然後嘗試編輯 MBR。您沒有指定 128 MB 的分割區類型,但您可以嘗試手動設定。如果您知道分區類型應該是什麼,則可以使用磁碟部分設定名稱命令手動設定十六進位分區類型。維基百科有一個列表分區類型。常見的 NTFS 為 07,大多數 FAT32 為 0C,FAT 為 06。

你可能最好從測試磁碟,用於恢復分區表。它可以自動檢測多種類型的MBR問題。您可能仍然需要繼續使用 bcdboot 和 bootrec,但它應該可以讓您到達一個可行的起點。

相關內容