나는 /dev/sdb4에 Archlinux를 설치하고 부팅 파티션 구성표를 사용했습니다. 설치 후 /dev/sdb4(ext4)를 마운트할 수 없습니다. 오류는 입니다 VFS: Can't find ext4 filesystem
.
lsblk는 다음을 보여줍니다.
sdb 8:16 0 931,5G 0 disk
├─sdb1 8:17 0 512M 0 part /boot/efi
├─sdb2 8:18 0 768,3G 0 part /
├─sdb3 8:19 0 62,7G 0 part [SWAP]
└─sdb4 8:20 0 100G 0 part
그러나 fdisk -l:
Gerät Boot Anfang Ende Sektoren Größe Kn Typ
/dev/sdb4p1 * 6144 421887 415744 203M b W95 FAT32
/dev/sdb4p2 522240 209418239 208896000 99,6G 83 Linux
설치 프로그램은 파티션 내에 두 개의 하위 파티션을 생성합니다. /dev/sdb4의 파티션 테이블
이제 다음 파티션을 마운트하려고 합니다.
sudo mount /dev/sdb4p1 /mnt
mount: /mnt: Spezialgerät /dev/sdb4p1 ist nicht vorhanden.
dmesg(1) könnte nach einem fehlgeschlagenen mount-Systemaufruf
weitere Informationen liefern.
나는 할 수 없다. 분명히 /dev/sdb4p1
그것은 존재하지 않습니다. 어떻게 해야 합니까?
답변1
답변
파티션을 파일에 마운트하면 이 문제를 해결할 수 있을 것 같습니다 .img
.
내 생각이 맞다면 런닝은 sudo losetup --partscan --show --find /dev/sdb4
루프 장치(예를 들어 /dev/loop23
)를 생성해야 한다.
이는 또한 파티션 수 , 각 파티션에서 사용할 수 있는 마운트 등에 따라 /dev/loop23p1
(파티션 1), (파티션 2) 등을 생성해야 합니다 ./dev/loop23p2
/dev/sdb4
sudo mount /dev/loop23p1 [MOUNT_POINT]
이는 /dev/loop23
단지 예시일 뿐이라는 점에 유의하시기 바랍니다. 명령에서 반환된 값을 사용합니다 losetup
.
설명하다:
losetup
루프 장치를 설정하고 제어하는 데 사용되는 명령입니다.
명령에서 sudo losetup --partscan --show --find /dev/sdb4
다음 태그를 지정합니다.
--partscan
: 지정된 블록 장치에서 사용 가능한 파티션을 검색합니다.--show
losetup
: 출력에 할당된 루프 장치의 이름을 알려주는 데 사용됩니다 .--find
losetup
: 사용하지 않는 루프 장치를 찾아서 할당하라는 옵션입니다 ./dev/sdb4
: 블록 장치/파티션의 이름입니다.
옵션의 장점은 사용 가능한 모든 파티션을 자동으로 검색하고 등이라는 이름의 --partscan
하위 주기 장치를 생성한다는 것입니다. 마치 전체 파티션인 것처럼 각 하위 루프 장치를 마운트할 수 있습니다.[loop dev]p1
[loop dev]p2
[loop dev]p3
청소하다
sudo umount [MOUNT_POINT]
설치가 완료되면 평소처럼 실행하여 마운트된 파티션을 마운트 해제 해야 합니다 . 이 외에도 sudo losetup -d [loop dev]
( [loop dev]
이전에 반환된 루프 장치 이름으로 대체)를 사용하여 생성한 루프 장치도 삭제해야 합니다 losetup
.
루프 장치가 제거되었는지 확인하려면 를 실행하면 됩니다 losetup
.