wheeze로 업그레이드한 후 루트 파일 시스템이 잘 마운트되었습니다. 한동안 먹어서 잘 모르겠지만, wheezy로 dist 업그레이드 한 후에 시작된 것 같은데, 우연일 수도 있습니다. 기기는 Lenovo T400 FWIW입니다.
부팅 화면 사진1읽기 전용 파일 시스템에 대한 첫 번째 경고를 표시합니다. 아무것도 기록되지 않습니다.
fsck에서는 문제가 발견되지 않았습니다.2
mount -o remount,rw /
위의 내용은 잘 작동합니다.
(하지만 사용 가능한 시스템을 얻으려면 네트워크 관리자와 gdm3을 다시 시작해야 했습니다. 관련이 있는지는 잘 모르겠지만 python -m SimpleHTTPServer 8080 및 다른 터미널 w3m과 같이 localhost에서 실행되는 서비스에 연결할 수 없는 것 같습니다. 로컬 호스트 포트 8080으로 전송 요청 시간이 초과됨)
fstab에서는 아무 문제도 발견하지 못했습니다
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
# / was on /dev/sda1 during installation
UUID=2934c627-6f1a-438b-a877-1544108c7418 / ext3 errors=remount-ro 0 1
# swap was on /dev/sda5 during installation
UUID=39b1f59e-6193-4c46-8b4d-80b183f0b19c none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/sdb1 /media/usb0 auto rw,user,noauto 0 0
어떤 조언이라도 대단히 감사하겠습니다. 분명히 잘못되었고 고칠 수 있는 일을 하고 있기를 바라지만 디버깅 방법에 대한 힌트가 없다면 어떻게 될까요?
...
tune2fs -l /dev/sda1
산출
tune2fs 1.42.2 (27-Mar-2012)
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem UUID: 2934c627-6f1a-438b-a877-1544108c7418
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file
Filesystem flags: signed_directory_hash
Default mount options: (none)
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 14893056
Block count: 59547904
Reserved block count: 2977395
Free blocks: 50391869
Free inodes: 14576981
First block: 0
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 1009
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 8192
Inode blocks per group: 512
Filesystem created: Tue May 3 01:44:56 2011
Last mount time: Wed Apr 18 13:11:25 2012
Last write time: Tue Apr 17 23:51:46 2012
Mount count: 5
Maximum mount count: 25
Last checked: Tue Apr 17 23:51:46 2012
Check interval: 15552000 (6 months)
Next check after: Sun Oct 14 23:51:46 2012
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 28
Desired extra isize: 28
Journal inode: 8
First orphan inode: 9145036
Default directory hash: half_md4
Directory Hash Seed: af8ca7f0-bcad-49f3-98c0-9b19a531a885
Journal backup: inode blocks
...
부팅 시 /etc/init.d/checkroot.sh가 실행되지 않고 스크립트가 결국 루트를 rw로 다시 설치하게 됩니다(부팅 후 실행하면 이렇게 됩니다). 저는 데비안 테스트/wheezy를 사용하고 있습니다. /etc/init.d 파일에 종속성 주석이 있지만 그 이상으로 init 시스템에 대해 더 자세히 설명하는 방법을 잘 모르겠습니다.
...
수정되었지만 어떻게 발생했는지 또는 수정 사항이 시스템에 있어야 하는지 알 수 없습니다. checkfs와 mtab이 /etc/rcS.d에 있지만 checkroot에는 없다는 것을 알고 다음을 추가했습니다.
cd /etc/rcS.d
ln -s ../init.d/checkroot.sh S06checkroot.sh
두 번 재부팅한 후(첫 번째는 혼란스러웠지만 그 사이에 checkroot.sh에 몇 가지 추가 도구를 추가했습니다) 부팅 시 rw를 사용하여 백업했습니다(그리고 로컬 호스트에서 수신/요청했습니다. 문제가 사라졌으므로 관련이 있는 것으로 추측됩니다) ).
(압착된 시스템에서 S07checkroot.sh에 액세스할 수 있는 것을 보았습니다. 거의 근접했을 수도 있습니다.)
답변1
/root 파일 시스템에 오류가 있으며 fstab이 /root를 읽기 전용으로 다시 마운트합니다.
fstab의 줄
UUID=2934c627-6f1a-438b-a877-1544108c7418 / ext3 errors=remount-ro 0 1
/root가 읽기 전용으로 마운트되는 원인은 무엇입니까?
mount (8)
매뉴얼 페이지 에서
errors={continue|remount-ro|panic}
Define the behaviour when an error is encountered. (Either ignore errors
and just mark the filesystem erroneous and continue, or remount the
filesystem read-only, or panic and halt the system.) The default is set in
the filesystem superblock, and can be changed using tune2fs(8).
결국에는 /root 파일 시스템에 어떤 문제가 있는지 알아내야 합니다. 복구 디스크로 쉽게 부팅하고 /root에서 fsck를 실행할 수 있습니다. 잠재적인 오류를 무시하기로 선택한 경우 fstab의 줄을 errors=continue
.
답변2
이 문제가 발생했는데 이는 /etc/fstab에 설정된 루트 FS의 잘못된 UUID로 인해 발생했습니다. 일부 업그레이드에서는 자동으로 이를 감지하여 오류가 발생하는 것 같습니다.
blkid
올바른 UUID 가져오기를 사용하여 /partition rw를 다시 마운트 하고 /etc/fstab을 교체하면 문제가 해결되었습니다.
답변3
귀하의 루트 파일 시스템은 귀하가 지시하지 않았기 때문에 읽기/쓰기로 마운트되지 않았습니다.
UUID=2934c627-6f1a-438b-a877-1544108c7418 / ext3 errors=remount-ro 0 1
설치 옵션에는 errors=remount-ro
읽기/쓰기에 대한 내용만 없습니다. 표준 관행은 defaults
이를 설치 옵션에 포함시키는 것입니다. defaults
여러 가지 다른 장착 옵션이 제공되며 그 중 하나는 rw
읽기/쓰기를 제공하는 것입니다.
따라서 fstab의 옵션 항목에 defaults
or 를 추가해야 합니다 .rw
편집하다:
그것에 대해 조금 더 생각해 보면 (그리고 아래 설명의 토론) 옵션으로 defaults
는 rw
문제가 해결되지 않을 것입니다. 그 이유는 재설치 동작이 전적으로 배포판의 init 스크립트에 달려 있기 때문입니다. 배포판이 부팅 시 fstab에서 마운트 설정을 가져오는 것을 보았지만 루트를 다시 마운트할 때 init 스크립트가 fstab 옵션을 완전히 무시하고 스크립트에서 일부 하드코딩된 설정을 사용하는 것도 가능합니다.