在使用软RAID或者VROC做RAID的设置,在重装麒麟操作系统的时候可能会遇到以下问题。

问题现象

partithion(3) 3 on /dev/md/VOlume0_0 have been written,but we have been unbale to inform the kernel of the change,probably because it/they are in use, As a result, the old partition(s) will remain in use. You should reboot now before making further changes

截图

方案一

遇到这个报错之后,重启再次进入安装引导界面,在选择分区的时候,不要删除新建分区,直接把已存在的旧分区按照需求挂载到相应目录,特别是系统分区

方案二(AI 生成内容)

第一步:进入命令行终端

  1. 插入安装盘并启动,进入到银河麒麟的安装欢迎界面(或者分区报错的界面)。

  2. 按下键盘上的 Ctrl + Alt + F2(有时是 F2F6 其中的一个)。

  3. 屏幕会切换到一个黑底白字的命令行界面。如果提示输入用户名,通常输入 root 即可(有些版本不需要密码直接进入)。

第二步:识别硬盘设备名

在执行清空操作前,必须确认两块物理硬盘的设备名称。 输入以下命令:

Bash

lsblk
  • 观察结果: 寻找容量匹配的两块硬盘。

    • 如果是 NVMe 硬盘,名称通常是 /dev/nvme0n1/dev/nvme1n1

    • 如果是 SATA 硬盘,名称通常是 /dev/sda/dev/sdb

    • 由于你开了 VROC,你可能还会看到一个 /dev/md... 的设备,那是已经组建的逻辑卷。

第三步:使用 wipefs 清理(推荐,最安全)

wipefs 会擦除磁盘上的分区表签名、RAID 签名和文件系统签名,但不会擦除所有数据,速度极快。

物理盘执行(以 nvme 为例,如果是 sda 请替换):

Bash

# 清理第一块物理盘
wipefs -a /dev/nvme0n1

# 清理第二块物理盘
wipefs -a /dev/nvme1n1

# 如果存在逻辑卷,也清理一下
wipefs -a /dev/md/Volume0_0 

第四步:使用 dd 清理头部(最彻底)

如果 wipefs 后依然报错,可以使用 dd 命令向磁盘开头写入零,强制破坏所有现存的分区表(GPT/MBR)和 RAID 元数据。

Bash

# 擦除第一块盘的前 100MB
dd if=/dev/zero of=/dev/nvme0n1 bs=1M count=100

# 擦除第二块盘的前 100MB
dd if=/dev/zero of=/dev/nvme1n1 bs=1M count=100

注:执行完这一步后,这两块盘在系统看来就是完全“崭新”的、未初始化的磁盘,有些RAID信息存放在末尾,还需要擦除硬盘末尾的空间。

第五步:通知内核并返回安装

  1. 执行刷新命令:

    Bash

    partprobe
    
  2. 按下 Ctrl + Alt + F7(或 F1)回到图形化安装界面。

  3. 关键操作: 在图形界面点击“上一步”再回来,或者点击“刷新/重试”,让安装程序重新扫描磁盘。


为什么这一步对 VROC 很重要?

VROC 会在磁盘的末尾或开头留下特殊的 RAID 元数据(Metadata)。如果你之前的磁盘安装过其他系统,或者之前的分区尝试失败了,残留的元数据会让内核误以为这块盘“正在被某个阵列占用”,从而导致你看到的 unable to inform the kernel 错误。

总结建议: 先用 wipefs -a,因为它专门对付 RAID 签名。清理完后,最好重启一次机器,确保 BIOS 的 VROC 状态和内核识别的状态完全同步,再开始安装,这样成功率最高。

注意: 执行这些命令会永久删除硬盘上的所有数据,请务必确认硬盘内没有重要文件。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐