최근에 시스템을 업데이트했고 재부팅한 후 다음과 같은 메시지가 표시됩니다.
ERROR: device ‘UUID=...’ not found. Skipping fsck.
mount: /new_root: can’t find UUID=...
You are now being dropped into an emergency shell.
내 루트 파일 시스템이 RAID 어레이에 있고 blkid
비상 셸에서 실행하면 해당 어레이가 나열되지 않은 것으로 표시됩니다.
나는 그것을 RAID1에 가지고 /dev/sda2
있으며 일반적으로 에 설치됩니다. 하나가 있고 하나로 조립됩니다. 그리고 RAID0에는 일반적으로 하나가 있으며 하나로 조립됩니다. 검색 시작 중 오류가 발생했습니다./dev/sdb2
/boot
UUID="b45...
/dev/md1
UUID="436...
/dev/sda3
/dev/sdb3
/
UUID="8dc...
/dev/md2
UUID="d0d...
d0d...
라이브 USB로 부팅하고 실행했는데 blkid
어레이가 거기에 있었습니다. 그래서 배열, proc
, 및 을 sys
설치 했습니다 . 확인해보니 모든 줄이 주석 처리되었으므로 다음을 실행했습니다.dev
boot
/etc/mdadm.conf
ARRAY
# mdadm --detail --scan >> /mnt/etc/mdadm.conf
UUID가 배열 에 사용한 두 개의 파티션 ( b45...
및 )과 일치하는지 확인했습니다. 8dc...
그런 다음 chroot
합류했습니다.
그런 다음 확인해 /etc/mkinitcpio.conf
보니 설정 mdadm_udev
에서 누락된 것으로 나타났습니다 HOOKS
. 그래서 그 문장을 읽었습니다.
거기에서 다음을 시도한 후 재부팅했습니다.
# pacman -S linux
# mkinitcpio -p linux
# mkinitcpio -P
내가 볼 수 있는 모든 후크에 대해 다음과 같이 mdadm_udev
알려줍니다.
Custom /etc/mdadm.conf file will be used in initramfs for assembling arrays
그러나 재부팅하면 동일한 오류가 발생하고 blkid
비상 셸을 사용하면 내 RAID 어레이가 나열되지 않은 것으로 표시됩니다(그러나 이를 구성하는 파티션은 거기에 있고 UUID는 에 있는 것과 일치합니다 mdadm.conf
).
raid0.default_layout=2
또한 동일한 결과로 커널 매개변수를 추가했습니다 . 이전에는 존재한 적이 없지만 위키에는 필요하다고 표시되어 있는 것 같습니다.
Linux 패키지는 linux-5.12.6.arch1-1
오류가 시작되기 전에 다음과 같이 알려줍니다.
Starting version 248.3-2-arch
시작 시 어레이 조립에 실패하는 원인이 무엇입니까?
답변1
처음에 이 문제의 원인이 무엇인지 아직도 모르겠습니다. 하지만 해결책은 너무 간단해서 바보 같은 느낌이 듭니다.
문제는 내가 실행했다는 것입니다.
# mount /dev/md1 /mnt/boot
chroot
mkinitcpio
grub의 설정을 확인하고 싶었기 때문에 ing 및 실행 전에 라이브 USB에서 가져왔습니다 . 그래서 initramfs
제가 만든 이미지는 mdadm
RAID 어레이에 있습니다. 로드된 콘텐츠는 initramfs
이에 대해 아무것도 모르므 mdadm
로 배열이 구축되지 않습니다.
mkinitcpio
해결책은 chroot
어레이를 마운트하지 않고 실행하는 것 입니다 /boot
.