升级到 Ubuntu 22.04 后 Fakeraid 分区丢失(启动时未映射为设备)

升级到 Ubuntu 22.04 后 Fakeraid 分区丢失(启动时未映射为设备)

我有一个带有 NTFS 分区的 RAID-0 卷,该卷在我的双引导系统上运行多年(Windows 和 Linux 均可读写)。

今天在升级do-release-upgrade -d到 Ubuntu 22.04(从 Ubuntu 20.04)之后,这个文件系统没有出现在 Ubuntu 中。问题似乎与设备映射有关;这是我迄今为止尝试过/发现的:

  • 它在 Windows 中仍然运行良好。我认为磁盘上没有任何变化。

  • 不同磁盘(非 RAID)上的 NTFS 分区仍然可以挂载并正常工作。

  • 引导到旧内核(通过 grub)并不能修复它(并且似乎会导致其他问题)。

  • 我以为我的设置是“硬件 RAID”,因为我通过名为“Intel Matrix Storage Manager”的 BIOS 启动屏幕配置了它,但我猜这实际上是“fakeraid”。

  • RAID 卷显示在磁盘实用程序中(如/dev/dm-0,并且此文件存在),没有分区,只有“未分配的空间”。

  • RAID 卷显示在 GParted 中(如/dev/mapper/isw_dfjaifidah_KarlsRaid,且此文件存在),并带有一个名为 ntfs 的分区/dev/mapper/isw_dfjaifidah_KarlsRaid1(即带有附加的卷名1),但该设备文件不存在。中唯一的文件/dev/mapper/isw_dfjaifidah_KarlsRaid.

这是 的相关部分sudo fdisk -l。 (sdasdbsdc是 RAID 阵列中的磁盘。)

Disk /dev/sda: 596.17 GiB, 640135028736 bytes, 1250263728 sectors
Disk model: WDC WD6401AALS-0
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: 0x15967f5e

Device     Boot Start        End    Sectors  Size Id Type
/dev/sda1        2048 3750772735 3750770688  1.7T  7 HPFS/NTFS/exFAT


Disk /dev/sdb: 596.17 GiB, 640135028736 bytes, 1250263728 sectors
Disk model: WDC WD6401AALS-0
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: 0x2a0921b8


Disk /dev/sdc: 596.17 GiB, 640135028736 bytes, 1250263728 sectors
Disk model: WDC WD6401AALS-0
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: 0x2a0921bf


Disk /dev/mapper/isw_dfjaifidah_KarlsRaid: 1.75 TiB, 1920398131200 bytes, 3750777600 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 131072 bytes / 393216 bytes
Disklabel type: dos
Disk identifier: 0x15967f5e

Device                                     Boot Start        End    Sectors  Size Id Type
/dev/mapper/isw_dfjaifidah_KarlsRaid-part1       2048 3750772735 3750770688  1.7T  7 HPFS/NTFS/exFAT

该文件/dev/mapper/isw_dfjaifidah_KarlsRaid-part1(请注意-part1)也不存在。

/dev/sda1我对出现的事实有点担心,因为(如果我的假设是正确的)我们应该只在组合卷上查找分区表,而不是直接在阵列中的单个磁盘上查找。文件/dev/sda1存在,并sudo ntfs-3g.probe --readwrite /dev/sda1报告“NTFS 签名丢失”。也许系统正在 上找到我的分区表sda,即使该数据只是 RAID 条带的一部分,并dev/sda1基于它进行创建。我可以想象,当遇到 RAID 卷上相同的“真实”分区表时,这会导致某种名称冲突。

FWIW,hdparm -z /dev/mapper/isw_dfjaifidah_KarlsRaid输出:

/dev/mapper/isw_dfjaifidah_KarlsRaid:
 re-reading partition table
 BLKRRPART failed: Invalid argument

这几乎就是我被困住的地方!我怎样才能解决这个问题?预先感谢您的任何建议 - 即使是显而易见的建议,因为我真的不知道我在做什么。

其他一些注释(可能不相关):

  • 昨天我通过 GUI“附加驱动程序”工具从 升级nvidia-driver-390nvidia-driver-470这个问题它将我从一个内核切换-generic到一个-oracle无法识别我的网络硬件的内核。想要一个更新的(通用)内核是我进行发行版升级的动力。
  • 我想从 Ubuntu 22.04 Live CD 进行全新安装(我在刻录后根据发布的校验和进行了验证),但它无法启动(几分钟后“无法启动 CUPS 调度程序”)。
  • AFAICT进展do-release-upgrade顺利,除了最后出现了一些“mpi”包的错误。之后,apt命令失败,dpkg 抱怨这些包“尚未配置”。我通过重新安装解决了这个问题openmpi-bin,如下所示这个答案

根据评论中的要求提供更多输出:

# lsblk -M -f
    NAME
     FSTYPE FSVER LABEL         UUID                                 FSAVAIL FSUSE% MOUNTPOINTS

[after a bunch of loop devices related to /snap/...]

┌┈▶ sda
     isw_ra 1.2.0                                                                   
├┈▶ sdb
     isw_ra 1.2.0                                                                   
└┬▶ sdc
     isw_ra 1.2.0                                                                   
 └┈┈isw_dfjaifidah_KarlsRaid
                                                                                    
    sdd
    ├─sdd1
│    ntfs         OCZ Vertex 4  1A7643E57643C06D                       58.6G    69% /mnt/WinC
    ├─sdd2
│    ntfs                       129E918C9E9168CD                                    
    ├─sdd3
    ├─sdd5
│    ext4   1.0                 5b327639-85e6-4f6a-ac79-743cfedf3e29   10.8G    64% /
    └─sdd6
     swap   1                   b601da00-767d-4e50-b62a-0b832992599c                [SWAP]

# partx /dev/mapper/ is isw_dfjaifidah_KarlsRaid
partx: bad usage
Try 'partx --help' for more information.

# partx /dev/mapper/isw_dfjaifidah_KarlsRaid   
NR START        END    SECTORS SIZE NAME UUID
 1  2048 3750772735 3750770688 1.7T      15967f5e-01

# partx /dev/sda                            
NR START        END    SECTORS SIZE NAME UUID
 1  2048 3750772735 3750770688 1.7T      15967f5e-01

答案1

感谢 u1686_grawity,我们现在应该做一个简单的额外步骤:用来kpartx检测构建驱动器上的分区。

sudo kpartx -a /dev/mapper/isw_dfjaifidah_KarlsRaid

我在我的系统上这样做了(当然,使用我自己的 jMicron fakeRAID),效果很好:

hopungo@hopungo-pc:~$ sudo kpartx -l /dev/mapper/jmicron_GRAID 
jmicron_GRAID1 : 0 7813722112 /dev/mapper/jmicron_GRAID 2048

第二部分是使该命令在系统启动时自动运行,这在另一个主题中有所介绍(但信息已过时)。在确定它有效后,我将在此处添加我的解决方案。

相关内容