파일 시스템이 읽기 전용입니다.. 손상되었을 수 있나요?

파일 시스템이 읽기 전용입니다.. 손상되었을 수 있나요?

Ubuntu Basics(Ubuntu를 처음부터 설치)를 설치하려고 하는데 문제가 발생했습니다... 설치 후 읽기 전용 파일 시스템이 있는 시스템을 얻었는데 /boot가 자동으로 마운트되지 않습니다.

이것은 내 /etc/fstab입니다:

/dev/sda1   /boot vfat defaults,noatime 0 2
/dev/sda2   /     ext4 defaults,noatime 0 1

설치하기 위해 기본 시스템에 루트를 연결하는 방법은 다음과 같습니다.

mount /dev/sda2 /mnt
cp /etc/resolv.conf /mnt/etc/resolv.conf
mount --types proc /proc /mnt/proc
mount --rbind /sys /mnt/sys
mount --make-rslave /mnt/sys
mount --rbind /dev /mnt/dev
mount --make-rslave /mnt/dev
test -L /dev/shm && rm /dev/shm && mkdir /dev/shm
mount --types tmpfs --options nosuid,nodev,noexec shm /dev/shm
chmod 1777 /dev/shm
chroot /mnt /bin/bash
source /etc/profile
export PS1="(chroot) ${PS1}"
<installation steps>
exit
cd
umount -l /mnt/dev{/shm,/pts,}
umount -R /mnt
reboot

다음 명령을 실행하면 시스템이 쓰기 가능해집니다.

mount -o remount,rw /

내가 뭘 잘못했나요?

답변1

짧은 답변

설치 단계에서 이 패키지를 설치해야 합니다 systemd-sysv.

긴 대답

Ubuntu Focal을 설치하려는 것 같습니다. Focal의 Ubuntu 기본 이미지에는 이 바이너리가 포함되어 있지 않습니다 /sbin/init. 기본 systemd를 사용한다고 가정하면 이 바이너리는 패키지에서 제공됩니다 systemd-sysv. 일부 이전 버전의 Ubuntu에 대한 Ubuntu 기본 이미지는 다음과 같습니다.하다include /sbin/init이므로 이전 지침에서는 이를 언급하지 않을 수도 있습니다. (이미지를 더 이상 사용할 수 없는 이유 /sbin/init는 아마도 컨테이너에 일반적으로 필요하지 않기 때문일 것입니다. 이러한 이미지의 사용 사례가 늘어나고 있습니다.)

그렇다면 초기화 없이 쉘 프롬프트를 표시하려면 어떻게 해야 할까요? init의 스크립트는 폴백을 사용하여 "실제" 초기화를 initrd수행하는 역할을 담당합니다. 찾을 수 없는 exec경우 /sbin/init일련의 대체 실행 파일을 시도하며 그 중 하나는 콘솔에 인쇄된 것과 유사한 메시지를 /bin/sh받을 수도 있습니다 .Target filesystem doesn't have requested /sbin/init

그렇다면 루트 파일 시스템이 읽기 전용으로 마운트된 이유는 무엇입니까? GRUB 구성이 그렇게 하도록 지시하기 때문입니다. 실행 하면 처음에 읽기 전용 으로 마운트하라는 옵션이 포함된 것을 cat /proc/cmdline볼 수 있습니다 . 이를 통해 필요한 경우 루트 파일 시스템의 오류를 수정하기 위해 init를 실행할 수 있습니다. 그러면 Init는 읽기 및 쓰기를 다시 마운트합니다.roinitrd/fsck/

관련 정보