尝试从 Acer 笔记本电脑的 mSATA SSD 上进行数据恢复...Kingston SMSR150S3/256GB
第一个症状就是 Windows 无法启动。
从购买笔记本电脑时(大约一年前)开始,磁盘的早期历史记录是
1)预装了一个大的 Windows 分区(256 GB 的大部分)以及宏碁通常会安装的其他小型 EFI、休眠和/或工厂恢复分区
2) 大 Windows 分区缩小到大约 128 GB,并添加了大约 128 GB 的第二个 (d:) Windows 分区。(用户不记得这是使用分区魔术师完成的还是使用 Windows 内置工具完成的)
最近,当磁盘停止启动时,用户制作了一个 Windows 可启动 USB 并从中启动,并尝试将 Windows 重新安装到 c: 分区。此操作无效,并显示错误“安装 Windows 的驱动器已锁定”。因此,我们认为这不会影响 c: 分区,更不可能影响 d: 分区,但我没有 100% 的信息来了解用户在尝试重新安装时可能做出的每个选择。
无论如何,我们要从 d: 分区恢复数据。现在,我已将其与 USB-SATA 设备(带有 SATA-mSATA 适配器)连接到台式 Linux 机器上,以进行故障排除...
现在奇怪的是,有些工具报告整个原始磁盘只有 128 GB,而我知道它是 256 GB。dmesg、/proc/partitions、fdisk、parted、gdisk 的输出如下:
# dmesg
...
[245835.332028] usb 1-4: new high-speed USB device number 5 using ehci-pci
[245835.464878] usb 1-4: New USB device found, idVendor=152d, idProduct=2338
[245835.464883] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=5
[245835.464887] usb 1-4: Product: USB to ATA/ATAPI bridge
[245835.464890] usb 1-4: Manufacturer: JMicron
[245835.464894] usb 1-4: SerialNumber: 50026B7E33A0
[245835.465412] usb-storage 1-4:1.0: USB Mass Storage device detected
[245835.466222] scsi4 : usb-storage 1-4:1.0
[245836.464540] scsi 4:0:0:0: Direct-Access KINGSTON SMSR150S3256G PQ: 0 ANSI: 5
[245836.464873] sd 4:0:0:0: Attached scsi generic sg3 type 0
[245836.471036] sd 4:0:0:0: [sdc] 250069680 512-byte logical blocks: (128 GB/119 GiB)
[245836.472167] sd 4:0:0:0: [sdc] Write Protect is off
[245836.472172] sd 4:0:0:0: [sdc] Mode Sense: 28 00 00 00
[245836.473919] sd 4:0:0:0: [sdc] No Caching mode page found
[245836.473927] sd 4:0:0:0: [sdc] Assuming drive cache: write through
[245836.478656] sd 4:0:0:0: [sdc] No Caching mode page found
[245836.478663] sd 4:0:0:0: [sdc] Assuming drive cache: write through
[245836.486808] sdc: sdc1 sdc2 sdc3 sdc4 sdc5
[245836.491399] sd 4:0:0:0: [sdc] No Caching mode page found
[245836.491404] sd 4:0:0:0: [sdc] Assuming drive cache: write through
[245836.491409] sd 4:0:0:0: [sdc] Attached SCSI disk
# cat /proc/partitions
major minor #blocks name
8 0 488386584 sda
8 1 1951744 sda1
8 2 242187264 sda2
8 3 244245504 sda3
11 0 1048575 sr0
8 16 488386584 sdb
8 17 1951744 sdb1
8 18 242187264 sdb2
8 19 244245504 sdb3
9 0 242056000 md0
9 1 244114240 md1
8 32 125034840 sdc
8 33 409600 sdc1
8 34 307200 sdc2
8 35 131072 sdc3
8 36 121234432 sdc4
8 37 358400 sdc5
# fdisk -l /dev/sdc
WARNING: GPT (GUID Partition Table) detected on '/dev/sdc'! The util fdisk doesn't support GPT. Use GNU Parted.
Disk /dev/sdc: 128.0 GB, 128035676160 bytes
256 heads, 63 sectors/track, 15505 cylinders, total 250069680 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x2831909f
Device Boot Start End Blocks Id System
/dev/sdc1 1 4294967295 2147483647+ ee GPT
# parted /dev/sdc
GNU Parted 2.3
Using /dev/sdc
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Error: Can't have a partition outside the disk!
(parted) quit
# gdisk /dev/sdc
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Warning! Secondary partition table overlaps the last partition by
250049905 blocks!
You will need to delete this partition or resize it in another utility.
Command (? for help): print
Disk /dev/sdc: 250069680 sectors, 119.2 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): BE504BB0-CF3A-4920-AD67-C6EDF9E10E94
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 250069646
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)
Number Start (sector) End (sector) Size Code Name
1 2048 821247 400.0 MiB 2700 Basic data partition
2 821248 1435647 300.0 MiB EF00 EFI system partition
3 1435648 1697791 128.0 MiB 0C01 Microsoft reserved part
4 1697792 244166655 115.6 GiB 0700 Basic data partition
5 244166656 244883455 350.0 MiB 2700
6 244883456 470161407 107.4 GiB 0700 Basic data partition
7 470163456 500119551 14.3 GiB 2700 Basic data partition
Command (? for help): quit
# mkdir d
# mount -t ntfs -o ro /dev/sdc1 d
NTFS signature is missing.
Failed to mount '/dev/sdc1': Invalid argument
The device '/dev/sdc1' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
显然,内核只能看到 gdisk 中显示的 7 个分区中的 1 到 5 个分区,但我需要的是分区 6。据推测这与 parted 错误“错误:不能有磁盘外的分区!”和 gdisk 错误“警告!辅助分区表与最后一个分区重叠 250049905 个块!”有关。上面尝试的 mount 命令对所有分区 sdc1 到 5 都给出了相同的错误。
是否有人经历过或了解我所看到的尺寸不匹配问题?如果是,您能解决这个问题吗?如何解决?抱歉发了这么长的帖子,但我想展示我迄今为止调查的内容。
答案1
我有一台装有此硬盘的 Acer S7。它实际上不是单个 256G 硬盘——而是两个 128G 硬盘,采用硬件 raid-0 配置。
当我尝试将此驱动器与 USB 转 mSATA 适配器一起使用时,只能看到其中一个驱动器。同样,我在另一台计算机上安装了该驱动器,也只能看到其中一个驱动器。
我认为最好的办法是将设备放回 S7 中——这是我迄今为止发现的唯一一款可以识别设备上两个驱动器的硬件。S7 可以与 Ubuntu 配合使用,并且 raid-0 设备可以正确显示。