디스크가 가득 찬 것처럼 보이는 문제를 해결하는 동안 ASUS Tinkerboard 2S(Debian 10)의 루트에서 파일 시스템을 확인해 보았습니다.
로그에 다음 오류가 표시됩니다.
systemd-sysctl[195]: Couldn't write 'force' to 'fsck/mode', ignoring: No such file or directory
systemd-sysctl[195]: Couldn't write 'yes' to 'fsck/repair', ignoring: No such file or directory
이는 마지막 확인 날짜를 확인하고 tune2fs -l /dev/mmcblk2p9 | grep 'checked\|Maximum\|Mount'
작년 날짜를 표시하여 추가로 확인할 수 있습니다.
Mount count: 172
Maximum mount count: 1
Last checked: Tue May 3 13:10:09 2022
이 문제를 어떻게 해결할 수 있습니까?
답변1
systemd-sysctl
의 작업은 부팅 프로세스 초기에 실행되어 구성 파일을 읽고 /etc/sysctl.d
거기에 있는 모든 설정을 /proc/sys
.
하지만 의 일부 파일에는 fsck.mode=force
및 와 같은 설정이 있는 것 같습니다. 이들은 각각 가상 파일에 매핑됩니다... 파일 시스템 검사 도구에는 일반적으로 커널 구성 요소가 없으며(확실히 파일 시스템도 없습니다!) 제외하면 이러한 설정이 잘못된 위치에 있는 것 같습니다. 이것이 운영자 오류로 인한 것인지 파일 시스템 손상으로 인한 것인지 아직 확실하지 않습니다.fsck.repair=yes
/etc/sysctl.d/
/proc/sys/fsck/mode
/proc/sys/fsck/repair
ext4
대신 이러한 설정이 의미가 있습니다.커널 부팅 매개변수. x86 시스템에서는 이러한 매개변수를 GRUB_CMDLINE_LINUX_DEFAULT=
또는 GRUB_CMDLINE_LINUX=
변수 에 추가할 수 있습니다 /etc/default/grub
. 하지만 Tinkerboard 2S는 ARM 장치이므로 GRUB를 사용하지 않고 다른 부트로더를 사용합니다. 아마도 u-boot
? (빠른 구글 검색으로는 Tinkerboard 2S 부팅 프로세스의 명확한 예를 찾을 수 없었습니다.)
부트로더가 이면 u-boot
이 문서는 부팅 프로세스 시작 시 표시되는 내용과 어느 정도 일치할 수 있습니다.
https://wiki.debian.org/U-boot/#U-boot_prompt.2C_custom_kernel_arguments
즉, Hit any key to stop autoboot:
3초 카운트다운 메시지가 표시되면 직렬 콘솔을 연결하고 아무 키나 눌러 u-boot 프롬프트에 액세스해야 합니다 =>
.
일회성 파일 시스템 검사를 트리거하려면 다음 명령을 입력해야 합니다.
setenv bootargs ${bootargs} fsck.mode=force fsck.repair=yes
boot
직접적이지 않은 것이 중요하다바꾸다기존 bootargs
값이지만그것에 추가.
saveenv
명령줄 다음에 이 명령을 사용하면 setenv
옵션이 지속되지만(단 한 번의 부팅 대신) saveenv
파일 시스템 검사에 추가 문제가 있을 경우 먼저 옵션 없이 시도해야 합니다.
답변2
@telcoM 감사합니다
마침내 저는 Tinkerboard 2S에서만 작동하는 대안을 찾았습니다. eMMC 스토리지(제가 루팅한 곳) 외에 장치에 Micro SD 슬롯이 있기 때문입니다. Micro SD 슬롯을 사용하는 경우 부팅 시 eMMC보다 이 슬롯이 선호됩니다.
그래서 집에 128GB 마이크로SD를 찾아서 ASUS에서 제공하는 Debian 10을 플래싱했습니다. 몇 가지 기본 설정을 마친 후 이전 루트에서 파티션을 마운트 해제하고 실행할 수 있었습니다.fsck