/etc/fstab의 잘못된 루트 항목에도 불구하고 시스템이 정상적으로 부팅됩니다.

/etc/fstab의 잘못된 루트 항목에도 불구하고 시스템이 정상적으로 부팅됩니다.

다음과 같은 디스크 구조가 있습니다.

sda1 : Windows
sda2 : an old Linux distribution
sda3 : a new Linux distribution
sda4 : data partition

grub을 설치하고 부팅 시 시스템을 선택했습니다. 저는 이제 sda3에서만 새로운 Linux 배포판을 사용하고 있는데 잘 작동합니다. 저는 부팅 시 CDROM과 데이터 파티션을 마운트하도록 /etc/fstab 파일을 설정해 왔습니다.

나는 최근에 새로운 Linux 시스템(sda3)의 /etc/fstab 파일이 다음과 같은 것을 보았습니다:

/dev/sda2  /  ext4  errors=remount-ro   0   1  #NOTE THIS ENTRY HAS SDA2!
/dev/sda4  /media/me_user/datapart      ext4      defaults        1      1
/dev/sr0   /media/cdrom0   auto   ro,user,noauto,unhide  0  0

루트 항목이 잘못된 것 같습니다. /dev/sda3이어야 합니다(실수로 변경한 것이 틀림없습니다). 그러나 시스템은 잘 작동하고 부팅할 때 홈 폴더는 sda2가 아닌 sda3에만 있습니다.

/etc/fstab에서 루트 항목 줄을 제거해 보았습니다. 그런 다음 시작 시 로그인을 요청하는 터미널 프롬프트가 표시됩니다. 여전히 로그인할 수 있지만 그래픽이 시작되지 않습니다.

루트 항목이 sda3에서 작동하도록 fstab 파일을 수정했지만 문제를 명확히 하고 싶습니다. 내 시스템이 제대로 작동하고 sda3의 홈 폴더에 액세스하고 있는데 /etc/fstab의 루트 항목이 sda2용인 이유는 무엇입니까?

답변1

최근에 비슷한 문제가 발생하여 조사를 했습니다. 내 이해는 다음 위치에 올바른 파티션이 설정되어 있기 때문에 작동한다는 것입니다.

  • 커널 명령줄 매개 root=<UUID of />변수. Satwell은 이에 대해 더 많이 썼습니다.
  • 부트로더 설정. 예를 들어 grub- gnulinux-simple-<UUID of />--set=root <UUID /boot>( UUID 와 동일할 수도 있고 동일하지 않을 수도 있음 /)을 가정합니다.

/etc/fstab이제 파일 시스템이 부팅 프로세스의 일부로 읽고 마운트됩니다( /쓰기 가능한 [ rw]가 다시 마운트되고 있음). 재설치하려면 /etc/fstab다음 옵션을 사용하세요. satwell이 쓴 것처럼 이는 /파일에서 마운트 라인을 제거할 때 발생하는 문제를 설명할 수 있습니다. 잘못된 파티션의 UUID에서 작동하는 이유는 무엇입니까? 아마도 mount()시스템 호출이 다시 마운트할 때 잘못된 UUID를 무시하고 이미 설정된 [올바른] UUID를 사용하기 때문일 것입니다 .

에서 man 2 mount:

기존 설치 다시 설치

 및 source매개변수는 filesystemtype무시됩니다.

답변2

/etc/fstab루트로 마운트되는 파일 시스템을 직접 제어하지 않습니다. (말이 됩니다. 루트 파일 시스템을 읽으려면 먼저 마운트해야 합니다 /etc/fstab.)

루트 파일 시스템은 일반적으로 커널 명령줄 인수에 지정됩니다. 실행하여 cat /proc/cmdline확인 하면 root=/dev/sda3또는 이 표시될 수 있습니다 root=UUID=<uuid of /dev/sda3>.

이러한 매개변수는 일반적으로 부트로더 구성에서 구성됩니다. 여기의 세부 사항은 사용 중인 배포판에 따라 다르지만 grub을 사용한다고 가정하면 아마도 /boot/grub/grub.cfg또는 에서 해당 구성을 찾을 수 있을 것입니다 /boot/grub2/grub.cfg. 이 구성이 올바르면 올바른 루트 파일 시스템이 마운트되어야 합니다.

/그렇다면 시동을 제거하면 시동이 실패하는 이유는 무엇입니까 /etc/fstab? 시스템 시작 프로세스의 일부가 /에 지정된 옵션으로 다시 설치되는데 /etc/fstab, 이는 오류의 원인일 수 있습니다.

관련 정보