修正 GRUB 啟動上的 Windows 分割區 + IRRT 管理 mini pci Express 上的 SSD 磁碟

修正 GRUB 啟動上的 Windows 分割區 + IRRT 管理 mini pci Express 上的 SSD 磁碟

你在貼文裡看到了,我的系統不是最簡單的。我有一個 HDD 和一個 SSD,SSD 在 mini-pci-express 介面上,而 HDD 在通常的 SATA 2 介面上。我的 SSD 上有 Windows 7,HDD 上有 Ubuntu,+ HDD 上有可用空間,採用 NTFS 檔案系統,用於儲存 Windows 分割區中的檔案。我的系統啟動的唯一方法是採用英特爾的 IRRT 技術,並將「內部 HDD (IRRT)」設備作為啟動順序中的第一個啟動設備。這個「IRRT」設備是除了 SSD 和 HDD 本身之外的:我仍然不明白它到底是如何工作的,但它看起來像一些通用驅動器,可以正確訪問 SSD 的引導扇區,儘管它位於 mini PCI 上表達接口。更複雜的是,GRUB 放在前面,它仍然可以正確啟動 Windows 7,儘管它指向 /dev/sda1 來執行此操作,並且 /dev/sda1 位於 HDD 上,而不是 SSD 上。也許這就是整個“IRRT”事物的物理場所。到那時,一切都表現良好。

現在,談談我真正的問題。

今天,我嘗試將我的系統(Windows 7 64 位元)從休眠狀態喚醒。這樣做時,我在系統啟動之前打開了無線卡(物理外部開關,我有一台筆記型電腦,來自戴爾的 M4600)(也許我不太在乎)。也許是因為這個,我的win 7藍屏,然後重新啟動。然後,重新啟動時,在 Grub 中選擇 Windows 7 後,它向我顯示一條「啟動失敗」訊息,因為「所需的裝置不可用」。我嘗試透過win 7 DVD進行修復。它失敗了。然而,我在修復過程中發現了一個問題。當我購買筆記型電腦時,它是空白的,兩個驅動器上都沒有任何內容。我先手動安裝了Windows 7,然後安裝了ubuntu。 Grub 是在整個 IRRT 事件之後出現的。雖然仍然沒有ubuntu,但是當插入windows DVD時,它可以找到C:\(SSD)上的windows分割區及其大小。今天,當我嘗試修復過程時,它只顯示 D:\(HDD)上的一些“windows”分區,大小為 0 Mb。後來,fdisk -l 告訴我,除了我所知道的 NTFS 儲存分割區之外,HDD 上確實還有一個可啟動的 NTFS 分割區。這是 fdisk 今天發現的內容:

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x1010ba11

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      101574    7  HPFS/NTFS
Partition 1 does not end on cylinder boundary.
Partition 1 does not start on physical sector boundary.
/dev/sda2              13       56105   450560718    7  HPFS/NTFS
/dev/sda3           56106       60802    37722113    5  Extended
Partition 3 does not start on physical sector boundary.
/dev/sda5           56106       60603    36127744   83  Linux
/dev/sda6           60603       60802     1593344   82  Linux swap / Solaris

Disk /dev/sdb: 128.0 GB, 128035676160 bytes
255 heads, 63 sectors/track, 15566 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x9e182e42

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1           5       40131   de  Dell Utility
/dev/sdb2   *           6       15566   124992512    7  HPFS/NTFS

一切看起來都很正常。我懷疑的是,從休眠狀態喚醒失敗後,由於休眠狀態修改了啟動順序所針對的扇區,因此出現了一些混亂,某些事務未完成,並且我在Windows分區內的啟動指針變得錯誤。問題是,有了上面的所有超級結構(Grub、IRRT 和兩個磁碟,HDD 儲存了 Windows 啟動序列的一部分,適合之後的 mini-pci-express 啟動),Windows 磁碟似乎無法修復由失敗的喚醒過程造成的任何損壞,因為它無法看到D:\「Windows 安裝」以外的內容,而該分割區實際上並不存在:它只是連結到Windows 啟動順序的某個分割區,而不是製作通過Windows,但同時透過IRRT 和Grub。真正的引導磁區以及安裝本身位於 SSD C:\ 上。

最後一件事:SSD 不再像出現問題之前那樣作為自動安裝的驅動器顯示在 Linux 中。 fdisk 仍然可以看到 SSD 上的分割區,但我不知道為什麼當我打開它時它沒有顯示在 Nautilus 中。除此之外,我太菜鳥了,不知道如何手動掛載通常自動掛載的分區,但現在什麼都不做。因為萬一我需要格式化 C:\,最好能恢復資料。並檢查它是否仍然存在,它不是剛剛燒壞的SSD...

那麼,在我迷失自己的問題中,有人知道該怎麼做嗎?我的猜測是物理移除 HDD,然後強制 Windows DVD 找到 SSD 上的分割區並修復它,儘管當我放回 HDD 時可能會使 GRUB 失效。我不知道這是否會起作用或進一步破壞一切,所以首先我想嘗試從 SSD 取回我的數據,再次在 Nautilus 中「查看」。

非常感謝,如有遺漏我會補充!

編輯:這是我嘗試安裝時發生的情況:

MrBrody@MrBrody-laptop:~$ sudo mount -t ntfs /dev/sdb2 /home/MrBrody/testmount
ntfs_mst_post_read_fixup: magic: 0x44414142  size: 1024  usa_ofs: 63104  usa_count: 65534: Invalid argument
Record 0 has no FILE magic (0x44414142)
Failed to load $MFT: Input/output error
Failed to mount '/dev/sdb2': Input/output error
NTFS is either inconsistent, or there is a hardware fault, or it's a
SoftRAID/FakeRAID hardware. In the first case run chkdsk /f on Windows
then reboot into Windows twice. The usage of the /f parameter is very
important! If the device is a SoftRAID/FakeRAID then first activate
it and mount a different device under the /dev/mapper/ directory, (e.g.
/dev/mapper/nvidia_eahaabcc1). Please see the 'dmraid' documentation
for more details.

編輯2:我嘗試卸下HDD,然後用win 7光碟修復:沒有找到任何Windows分割區!然後嘗試簡單地啟動:什麼都沒有。而且還沒有找到存取SSD上資料的方法。我嘗試啟動 gpart 命令,SSD 在掃描時確實發出“聲音”,但由於掃描時間很長,我在它顯示任何內容之前就停了下來。所以我有點惱火,我真的很想找到一種方法來恢復我的數據,然後再用新的 win 7 安裝覆蓋所有內容 - 首先,確定是否是我的 SSD 壞了!

請幫忙,我覺得這件事很嚴重......

相關內容