나는 /home
(마운트된) 파티션의 크기를 조정하기 위해 parted 프로그램을 사용합니다. /home
420GB(60GB 사용)가 있었는데 320GB(현재 100GB 사용 가능)로 크기를 조정했습니다. 컴퓨터를 다시 시작하면 파일 시스템 검사를 시작할 수 없고 아치에서 응급 모드를 시작할 수 없습니다. 그래서 /dev/sda4
umount(home)를 실행 fsck /dev/sda4
하고 마운트하려고 할 때 잘못된 파일 시스템 유형, 잘못된 옵션, /dev/sda4의 잘못된 슈퍼 블록이 있고 시스템이 여전히 부팅을 원하지 않습니다.
편집: 이 파티션의 데이터가 필요합니다. 액세스 권한을 얻어 다른 파티션의 가장 중요한 데이터를 복사하고 sda4를 삭제하시겠습니까? 하지만 이 데이터에 접근하는 방법을 모르겠습니다.
lsblk
:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 465.8G 0 disk
|-sda1 8:1 0 256M 0 part /boot
|-sda2 8:2 0 6G 0 part [SWAP]
|-sda3 8:3 0 40G 0 part /
`-sda4 8:4 0 419.4G 0 part
sr0 11:0 1 742M 0 rom
dmesg | tail
[ 67.769679] xor: using function: prefetch64-sse (6108.000 MB/sec)
[ 67.828384] Btrfs loaded
[ 140.029658] sda: sda1 sda2 sda3 sda4
[ 348.916444] sda: sda1 sda2 sda3 sda4
[ 731.875551] EXT4-fs (sda4): bad geometry: block count 109972230 exceeds size of device (85531834 blocks)
[ 737.760531] EXT4-fs (sda1): mounting ext2 file system using the ext4 subsystem
[ 737.805255] EXT4-fs (sda1): mounted filesystem without journal. Opts: (null)
[ 767.421212] EXT4-fs (sda4): bad geometry: block count 109972230 exceeds size of device (85531834 blocks)
[ 769.639095] EXT4-fs (sda3): mounted filesystem with ordered data mode. Opts: (null)
[ 2340.076115] EXT4-fs (sda4): bad geometry: block count 109972230 exceeds size of device (85531834 blocks)
일기 조각
-- Logs begin at Tue 2015-10-27 15:56:01 CET, end at Mon 2016-10-17 17:16:55 CEST. --
Oct 17 17:16:46 iam systemd-journald[146]: Runtime journal (/run/log/journal/) is 8.0M, max 285.7M, 277.7M free.
-- Subject: Disk space used by the journal
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Runtime journal (/run/log/journal/) is currently using 8.0M.
-- Maximum allowed usage is set to 285.7M.
-- Leaving at least 428.6M free (of currently available 2.7G of disk space).
-- Enforced usage limit is thust 17 17:16:47 iam kernel: Urtc0
-- The start-up result is done.
Oct 17 17:16:54 iam systemd-fsck[374]: /dev/sda4: The filesystem size (according to the superblock) is 109972230 blocks
Oct 17 17:16:54 iam systemd-fsck[374]: The physical size of the device is 109945896 blocks
Oct 17 17:16:54 iam systemd-fsck[374]: Either the superblock or the partition table is likely to be corrupt!
Oct 17 17:16:54 iam systemd-fsck[374]: /dev/sda4: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
Oct 17 17:16:54 iam systemd-fsck[374]: (i.e., without -a or -p options)
Oct 17 17:16:54 iam systemd-fsck[374]: fsck failed with error code 4.
Oct 17 17:16:54 iam systemd-fsck[374]: Running request emergency.target/start/replace
Oct 17 17:16:54 iam systemd[1]: Mounting /boot...
-- Subject: Unit boot.mount has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit boot.mount has begun starting up.
Oct 17 17:16:54 iam systemd[1]: [email protected]: Main process exited, code=exited, status=1/FAILURE
Oct 17 17:16:54 iam systemd[1]: Failed to start File System Check on /dev/sda4.
-- Subject: Unit [email protected] has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit [email protected] has failed.
--
-- The result is failed.
Oct 17 17:16:54 iam systemd[1]: Dependency failed for /home.
-- Subject: Unit home.mount has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit home.mount has failed.
-- The result is dependency.
Oct 17 17:16:54 iam systemd[1]: local-fs.target: Job local-fs.target/start failed with result 'dependency'.
Oct 17 17:16:54 iam systemd[1]: local-fs.target: Triggering OnFailure= dependencies.
Oct 17 17:16:54 iam systemd[1]: home.mount: Job home.mount/start failed with result 'dependency'.
Oct 17 17:16:54 iam systemd[1]: [email protected]: Unit entered failed state.
Oct 17 17:16:54 iam systemd[1]: [email protected]: Failed with result 'exit-code'.
Oct 17 17:16:54 iam systemd[1]: Reached target Network.
-- Subject: Unit network.target has finished start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- Userspace start-up required 11995553 microseconds.
Oct 17 17:16:55 iam systemd[468]: emergency.service: Failed at step EXEC spawning /bin/plymouth: No such file or directory
-- Subject: Process /bin/plymouth could not be executed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- The process /bin/plymouth could not be executed and failed.
--
-- The error number returned by this process is 2.
blkid
/dev/sda1: UUID="a60f7835-d787-4794-889e-1229c3788b5a" TYPE="ext2" PARTUUID="e10910a7-01"
/dev/sda2: UUID="4d2bdad8-2c4f-45de-bc11-c02a690d2bdf" TYPE="swap" PARTUUID="e10910a7-02"
/dev/sda3: UUID="a17f1309-204d-4aea-abda-7ef7e1dcae05" TYPE="ext4" PARTUUID="e10910a7-03"
/dev/sda4: UUID="af1e2c37-517c-4d5c-8a0e-76d67b1b84ca" TYPE="ext4" PARTUUID="e10910a7-04"
/dev/sr0: UUID="2016-08-01-16-33-35-00" LABEL="ARCH_201608" TYPE="iso9660" PTUUID="38ab083f" PTTYPE="dos"
/dev/sdb1: UUID="2016-06-11-19-19-51-00" LABEL="MJRO1606" TYPE="iso9660" PTUUID="62cadc67" PTTYPE="dos" PARTUUID="62cadc67-01"
/dev/sdb2: SEC_TYPE="msdos" LABEL="MISO_EFI" UUID="F6E9-DC96" TYPE="vfat" PARTUUID="62cadc67-02"
답변1
문제는 파일 시스템의 크기를 먼저 조정하지 않고 파티션의 크기를 조정했기 때문에 파일 시스템의 일부를 잘라냈고 이제는 파일 시스템 기록에 실제보다 더 크다고 표시되는 상태가 되었으며 나머지 부분에서는 충돌이 발생하고 결함이 발생하지 않는다는 것입니다. 실제로는 존재하지 않습니다.
가능한 해결책 중 하나는 파티션을 원래 크기로 복원하는 것입니다. 그러나 GiB 크기를 의미하는 것은 아니며 e2fsck
실제로 작동하는 블록 크기와 정확히 같아야 합니다. 따라서 파티션의 나머지 부분이 여전히 변경되지 않은 경우 다음과 같아야 합니다. 문제 없습니다. 최대 값까지 다시 늘리세요.
파티션이 원래 크기에 도달하면 e2fsck -f /dev/sda4
도구를 실행할 수 있으며 이제 도구가 파일 시스템을 복구합니다. 이제 복구 후 먼저 축소 파일 시스템을 사용하고 resize2fs
, FS를 축소한 후 FS 축소와 정확히 동일한 크기로 파티션을 축소할 수 있습니다.
하지만 나쁜 소식이 있습니다. 파티션 크기를 조정했지만 파일 시스템은 조정하지 않았기 때문에 일부 파일이 지워진 부분에 있어서 손실될 수 있습니다.