repair windows partition on GRUB boot + IRRT managing SSD disk on mini pci express

1

You see it in the post, my system is not the simplest one. I have an HDD and a SSD, the SSD being on the mini-pci-express interface, while the HDD is on a usual SATA 2 interface. I have windows 7 on the SSD, and Ubuntu on the HDD, + free space on the HDD, in NTFS file system, to store files from the Windows partition. The only way my system can start, is to have intel's IRRT technology, and to put the "Internal HDD (IRRT)" device as first boot device, in the boot order. This "IRRT" device comes in addition to the SSD and HDD themselves: I still did not understand exactly how it works, but it looks like some generic drive that can properly access the boot sector of the SSD, although it being on the mini PCI express interface. And to complicate things, GRUB is placed in front of that, and it still can properly launch windows 7, although it points to /dev/sda1 to do that, and /dev/sda1 is on the HDD, not on the SSD. Maybe it is the physical place of the whole "IRRT" thing. Till then, everything performed well.

Now, about my real problem.

Today, I tried to wake up my system (windows 7 64 bit) from hibernation. Doing so, I switched on the wireless card (the physical external switch, I have a laptop, M4600 from Dell), before the system could start up (I didn't care enough, maybe). Maybe because of that, I got a win 7 blue screen, and reboot. Then, on reboot, after selecting windows 7 in Grub, it displayed me a "failed boot" message because "the required device was unavailable". I tried a repair through the win 7 DVD. It failed. However, I noticed a problem during the repair procedure. When I bought my laptop, it was blank, nothing on both drives. I first installed windows 7 manually, THEN ubuntu. Grub came after the whole IRRT thing. And while there still was no ubuntu, when inserting the windows DVD, it could find the windows partition on C:\ (the SSD), and its size. Today, when I tried the repair procedure, it only showed some "windows" partition on D:\ (the HDD), with 0 Mb size. Later, a fdisk -l showed me that there was indeed an NTFS partition on the HDD, bootable, in addition to the NTFS storage partition I know there was. Here it what fdisk found today:

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

Everything looks normal. What I suspect is that, after the failed wake up from hibernation, as hibernation modifies the sector aimed at by the boot sequence, there was some mess with that, some transaction not completed, and my boot pointer inside the windows partition became wrong. The problem being that, with all the super-structure above (Grub, IRRT and the two disks, with the HDD storing a part of the windows boot sequence, appropriate to the mini-pci-express boot afterwards), the windows disk seems to be unable to repair any damage that was done by the failed wake up procedure, as it cannot see beyond the D:\ "windows installation", that does not exist really: it is only some partition linked to the windows boot sequence, not made by windows but by both IRRT and Grub. The true boot sector, together with the installation itself, is on the C:\, the SSD.

One last thing: the SSD does not show up anymore in Linux, as an automatically mounted drive, as it had before the problem. fdisk still see the partitions on the SSD, but I don't know why it doesn't show up in Nautilus when I open it. And to add to that, I am too much a noob to know properly how to manually mount a partition that usually mounts automatically, and now does nothing. Because in case I would need to format the C:\, It would have been good to get the data back. And to check that it still exists, that it is not the SSD that has just burned out...

So, in that problem where I am lost myself, has anyone an idea what to do? My guess is to physically remove the HDD, and then to force the windows DVD to find the partition on the SSD, and to repair it, although it would probably invalidate GRUB when I put back the HDD. I don't know if this will work or break everything further, so first I want to try to get my data back from the SSD, "see it" in Nautilus again.

Thanks a lot, if any detail is missing I will add it!

EDIT: here is what happened when I tried to mount:

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.

Edit 2: I tried to remove the HDD, and then repair with win 7 disc: did not find any windows partitions! Then tried to boot simply: nothing. And still haven't found a way to access the data on the SSD. I tried to start a gpart command, and the SSD did make "sounds" while being scanned, but as it was quite long to do I stopped before it could show anything. So I'm a little bit annoyed, I would really like to find a way to recover my data, before I overwrite everything with a new win 7 installation - and first, to determine wether or not it is my SSD which is dead!

Please help, I am getting to think this is serious...

MrBrody

Posted 2012-05-28T18:51:42.413

Reputation: 335

I finally formatted everything. It was not the ssd. And as it is mini-pci-express, dell has to give updates of firmware, and they don't have any, so...even if the firmware was faulty, I couldn't do anything! – MrBrody – 2012-05-30T19:31:08.977

No answers