从损坏的磁盘安装 Intel RST Raid 0 ntfs

从损坏的磁盘安装 Intel RST Raid 0 ntfs

我的一个朋友有一个由两个 500GB 硬盘组成的 RAID 0 阵列(Windows - NTFS - 预装戴尔),其中一个似乎有坏扇区。因此,我从 Ubuntu Live Disk(15.04)启动 PC,并尝试使用 mdadm 组装阵列以挽救数据(因为在 Windows 上它总是会坏)。

RAID 上有 3 个分区:

  • 首先在 /dev/sda Windows Boot [100MB]
  • 我猜第二个是戴尔恢复分区 [100GB])
  • 第三个在 /dev/sda 和 /dev/sdb 上(总共约 850GB,应该是 NTFS 分区 Windows C:\)

再次列出所有内容:

    $ sudo mdadm --examine /dev/sda
    /dev/sda:
          Magic : Intel Raid ISM Cfg Sig.
        Version : 1.0.00
        Orig Family : f3069b3e
         Family : f3069b3e
         Generation : 00006a1b
         Attributes : All supported
           UUID : b0ad0525:0ddce192:803168da:22a1ffe4
           Checksum : c280a1b0 correct
        MPB Sectors : 1
          Disks : 2
       RAID Devices : 1

    [ARRAY0]:
           UUID : 69bc365d:4feceb32:e1d6c70a:c5d22a9a
         RAID Level : 0
        Members : 2
          Slots : [__]
        Failed disk : 1
          This Slot : ?
         Array Size : 1953536000 (931.52 GiB 1000.21 GB)
       Per Dev Size : 976768264 (465.76 GiB 500.11 GB)
      Sector Offset : 0
        Num Stripes : 3815500
         Chunk Size : 128 KiB
           Reserved : 0
      Migrate State : idle
          Map State : normal
        Dirty State : clean

      Disk00 Serial : 5QM21AYL
          State : active failed
             Id : 00000000
        Usable Size : 976766862 (465.76 GiB 500.10 GB)

      Disk01 Serial : 5QM220MP
          State : active failed
             Id : 00010000
        Usable Size : 976766862 (465.76 GiB 500.10 GB)

我对 RST 和 mdadm 不太熟悉,因此我使用 Google 搜索并尝试:

    $ sudo mdadm --assemble /dev/md0 /dev/sda /dev/sdb --force
    mdadm: Marking array /dev/md0 as 'clean'
    mdadm: Container /dev/md0 has been assembled with 2 drives

进而:

    $ sudo mount -t ntfs /dev/md0 /home/olddata/
    Failed to read bootsector (size=0)
    Failed to sync device /dev/md0: Input/output error
    Failed to mount '/dev/md0': Invalid argument
    The device '/dev/md0' 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?

谁能向我解释我的定义有什么错误并指导我走正确的道路?

编辑:

附加信息:

    $ sudo fdisk -l

    Disk /dev/loop0: 1 GiB, 1101672448 bytes, 2151704 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 /dev/sda: 465,8 GiB, 500107862016 bytes, 976773168 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
    Disklabel type: dos
    Disk identifier: 0xc8000000

    Device     Boot     Start        End    Sectors   Size Id Type
    /dev/sda1  *         2048     206847     204800   100M  7 HPFS/NTFS/exFAT
    /dev/sda2          206848  245762047  245555200 117,1G  7 HPFS/NTFS/exFAT
    /dev/sda3       245762048 1953531903 1707769856 814,3G  7 HPFS/NTFS/exFAT

    Disk /dev/sdb: 465,8 GiB, 500107862016 bytes, 976773168 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

编辑2:

@psusi:所以如果我理解了你所说的话,那么设备上的 assemble 命令是正确的启动方式:

    $ sudo mdadm --assemble /dev/md0 /dev/sda /dev/sdb --force
    mdadm: Marking array /dev/md0 as 'clean'
    mdadm: Container /dev/md0 has been assembled with 2 drives

但接下来该去哪儿呢?

    $ cat /proc/mdstat
    Personalities : [raid0] 
    md0 : inactive sda[1](S) sdb[0](S)
          6306 blocks super external:imsm

    unused devices: <none>

    $ lsblk
    NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sda      8:0    0 465,8G  0 disk 
    ├─sda1   8:1    0   100M  0 part 
    ├─sda2   8:2    0 117,1G  0 part 
    └─sda3   8:3    0 348,6G  0 part 
    sdb      8:16   0 465,8G  0 disk 
    sr0     11:0    1   1,1G  0 rom  /cdrom
    loop0    7:0    0     1G  1 loop /rofs

答案1

首先,分区的是阵列,而不是单个驱动器。您不得尝试访问可能出现在单个驱动器上的任何分区。相反,您应该在 RAID 设备上安装正确的分区。此外,英特尔 fakeraid 将驱动器组装成一个“容器”,然后将其细分为单个 RAID 阵列。看来您已经激活了容器,我相信这会自动激活它包含的任何其他阵列,但它们不是/dev/md0cat /proc/mdstat查看哪些阵列处于活动状态,或者您可以查阅lsblk,它是其他阵列之一(或该阵列上的分区,例如/dev/md1p1),应该包含您要安装的文件系统。

相关内容