저는 일반적으로 Linux를 처음 접했지만 명령줄을 사용하여 몇 가지 기본적인 작업을 수행할 수 있습니다. 현재 저는 Manjaro KDE를 사용하고 있습니다. 어제 저는 "Linux from Scratch"라는 책을 통해 Linux에 대해 더 많이 배웠습니다. 마지막으로 한 일은 기본 파티션을 25GB로 축소하고 (cfdisk를 사용하여) 새 파티션을 만드는 것이었습니다. 모든 것이 괜찮았습니다. 예기치 않게 오늘 Manjaro에 로그인했을 때 오류가 발생했습니다.
mount: /new_root: wrong fs type, bad superblock on /dev/nvme0n1p4, missing codepage or helper program, or other error.
그리고
sh: can't access tty: job control turned off
비상 쉘에 던져졌습니다. 앞서 말했듯이 명령줄을 사용하여 파일을 생성, 복사 및 편집할 수 있지만 이는 제게는 너무 고급스러워 보입니다.
편집하다
모든 것이 무너지기 전에 내가 마지막으로 한 일은 다음과 같습니다.
처음으로 cfdisk를 사용하여 기본 파티션을 25.6GB만큼 축소했습니다.
둘째, cfdisk를 사용하여 새 파티션(20GB)을 만들었습니다.
셋째, 새 파티션을 마운트했습니다.
넷째, 새 파티션에 새 ext4 파일 시스템을 만들었습니다.
그러다가 컴퓨터를 종료하고 오늘 시작하니 바로 비상쉘로 들어갔습니다.
난 노력 했어:
mount /dev/nvme0n1p4 / (in the recovery shell, same Error).
mount /dev/nvme0n1p4 /media/nvme (from a live usb stick, same Error).
이 오류가 발생하는 이유와 데이터를 저장하는 방법을 아는 사람이 있습니까?
답변1
파일 시스템이 위치한 파티션을 축소하기 전에 파일 시스템 축소를 사용하지 않으면 resize2fs
파일 시스템의 꼬리가 잘립니다. cfdisk
이제 시스템은 파일 시스템이 해당 파일 시스템이 상주하는 파티션보다 크다고 주장하며 이는 오류임을 감지합니다.
ext2/3/4 파일 시스템은크게 하는그것이 사용될 때,축소그래도 먼저 제거해야 합니다. 루트 파일 시스템 처럼 보이고 /dev/nvme0n1p4
쉽게 마운트 해제할 수 없으며 /
마운트하려면 특별한 단계 /
(다른 곳에 마운트하고, 실행 중인 프로세스 수를 최소화하고, pivot_root
새 루트 파일 시스템으로 전환 사용)가 필요하므로 가능성이 너무 높습니다. 크기를 조정하는 데 올바른 절차를 사용하지 않고 있습니다.뿌리파일 시스템.
루트 파일 시스템의 크기를 조정하는 가장 쉬운 방법은 외부 라이브 미디어에서 부팅하고 이를 사용하여 완전히 제거하는 동안 설치된 운영 체제의 루트 파일 시스템 크기를 조정하는 것입니다. 또 다른 옵션은 파일 시스템 크기 조정 도구가 있는지 확인한 다음 initramfs
루트 파일 시스템이 아직 마운트되지 않은 동안 initramfs 부팅 단계 중에 부팅 옵션을 사용하여 부팅을 중단하고 결과 비상 쉘에서 파일 시스템을 축소하는 것입니다.
이제 문제는 파일 시스템의 크기를 조정하려면 처음부터 오류가 없어야 한다는 것입니다. 파일 시스템의 일부를 무차별 대입으로 차단하는 것은 확실히 실수입니다.
라이브 미디어에서 시스템을 부팅한 다음 이를 사용하여 생성한 새 파티션(있는 경우)의 내용을 마운트하고 백업한 다음 파티션을 삭제하고 파티션을 /dev/nvme0n1p4
원래 크기로 복원해야 합니다. 그런 다음 이를 실행하여 오류를 확인할 수 있어야 합니다 e2fsck -C0 /dev/nvme0n1p4
(그리고 파일 시스템의 꼬리 부분을 덮어써서 발생할 수 있는 오류를 수정할 수도 있습니다).
그런 다음 라이브 미디어 환경에서 루트 파일 시스템을 임시 위치에 마운트합니다.
mkdir /media/nvme
mount /dev/nvme0n1p4 /media/nvme
/etc/fstab
그리고 이를 사용하여 설치된 운영 체제(현재 위치 )를 편집하여 /media/nvme/etc/fstab
생성한 새 파티션에 대한 참조를 일시적으로 주석 처리합니다.
그런 다음 라이브 미디어를 종료하고 설치된 운영 체제가 정상적으로 다시 부팅되는지 확인할 수 있습니다.
그런 다음 라이브 미디어로 다시 부팅하여 루트 파일 시스템의 크기를 올바르게 조정합니다.
1.) 먼저 resize2fs /dev/nvme0n1p4 <new-size>
파티션 내의 파일 시스템 크기를 조정하는 데 사용됩니다. 크기 조정 후 파티션이 갖게 될 정확한 섹터 수를 알고 있는 경우 이를 값으로 사용할 수 있습니다 <new-size>
. 그렇지 않으면 파일 시스템을 약간 줄여야 합니다.더 작은단위 변환 시 반올림(및 기본 2 대 기본 10) 오류를 방지하기 위해 파티션을 축소하려는 크기보다 큰 크기입니다.
2.) 그런 다음 파일 시스템이 포함된 파티션을 축소합니다. 이 단계의 일부로 여유 공간을 사용하여 새 파티션을 생성할 수도 있습니다.
3.) 라이브 미디어를 종료하고 설치된 운영 체제로 부팅하여 여전히 제대로 작동하는지 확인합니다. 파일 시스템의 크기를 새 파티션 크기보다 작게 조정하는 경우 이제 resize2fs /dev/nvme0n1p4
자동 감지를 사용하여 현재 파티션 크기를 정확하게 일치하도록 파일 시스템을 확장할 수 있습니다. (예, 파일 시스템을 마운트할 때 이 작업을 수행할 수 있습니다.)
4.) 이제 새 파티션에 파일 시스템을 생성하고 행의 주석 처리를 제거/추가한 /etc/fstab
다음 새 파일 시스템을 마운트할 수 있습니다.