1. RAW 형식 가상 디스크
Linux에서는 가상 디스크 이미지 파일을 원시 형식으로 직접 마운트할 수 있습니다.
예를 들어 여기서는 먼저 dd 명령을 사용하여 파일을 만든 다음 ext4 형식(파티션 1개만)으로 포맷한 다음 /mnt 디렉터리에 마운트합니다.
아래 raw.img 디스크 이미지 파일에는 파티션이 하나만 있으므로 오프셋을 지정하는 데 offset=이 사용되지 않습니다. 파티션이 여러 개인 경우 오프셋을 지정하여 마운트할 수 있습니다. 구체적인 내용은 mount 명령어의 관련 파라미터 정보를 참고하시기 바랍니다.
> dd if=/dev/zero of=raw.img bs=1M 개수=512
읽기 512+0회 기록
기록된 512+0개의 쓰기
536870912바이트(537MB, 512MiB) 복사됨, 0.207045초, 2.6GB/s
/home/o [o@o-pc] [10:29]
> mkfs.ext4 -q raw.img
/home/o [o@o-pc] [10:30]
> sudo mount -o loop raw.img /mnt
/home/o [o@o-pc] [10:30]
>df -h
2. VHD/VHDX 디스크 파일 마운트
Linux는 VHD 디스크 이미지 파일 마운트를 직접 지원할 수 없습니다. vmware의 vmware-mount와 같은 도구를 통해 마운트할 수 있습니다. VMware는 이 도구를 직접 제공하지 않지만 vmware 플레이어 및 vmware 워크스테이션에서 사용할 수 있습니다. 하지만 여기서는 그런 길이 아닙니다.
Qemu-nbd는 여기서 디스크 이미지 파일을 마운트하는 데 사용됩니다.
a) qemu 설치
먼저 qemu-kvm을 설치해야 합니다. 여기서는 Fedora 25를 사용하고 있습니다. 설치 명령은 다음과 같습니다
sudo dnf 설치 qemu-kvm
debian/ubuntu 등을 사용하는 경우 sudo apt-get install qemu-kvm을 사용하여 설치할 수 있습니다.
archlinux는 sudo pacman -S qemu를 사용하여 설치할 수 있습니다.
b) nbd 드라이버 로드
NBD(Network Block Device)는 Network Block Device의 약자입니다. 이 모듈은 원격 호스트(nfs 마운트와 다름)의 디스크 공간을 로컬 블록 장치로 사용할 수 있습니다.
NBD는 대부분의 Linux 배포판에 이미 포함되어 있는 커널 모듈입니다.
modprobe를 사용하여 nbd 드라이버를 로드하세요
/media/o/data [o@o-pc] [11:04]
> sudo modprobe nbd max_part=8
로딩이 완료된 후 modinfo 명령을 사용하여 모듈 정보를 볼 수 있습니다
/media/o/data [o@o-pc] [11:05]
>modinfo nbd
파일명: /lib/modules/4.9.6-200.fc25.x86_64/kernel/drivers/block/nbd.ko.xz
라이센스: GPL
설명: 네트워크 차단 장치
에 따라 다름:
인트리: 응
vermagic: 4.9.6-200.fc25.x86_64 SMP mod_unload
서명: PKCS#7
서명자:
sig_key:
sig_hashalgo: md4
parm: nbds_max:초기화할 네트워크 블록 장치 수 (기본값: 16) (int)
parm: max_part:장치당 파티션 수(기본값: 0) (int)
위 정보를 보면 초기화된 네트워크 블록 장치 수가 16개라고 나와 있는데, 이는 /dev/ 아래에 16개의 nbd 장치를 생성한다는 의미입니다.
/media/o/data [o@o-pc] [11:05]
> ls /dev/nbd*
/dev/nbd0 /dev/nbd0p1 /dev/nbd1 /dev/nbd10 /dev/nbd11 /dev/nbd12 /dev/nbd13 /dev/nbd14 /dev/nbd15 /dev/nbd2 /dev/nbd3 /dev/nbd4 / 개발자/nbd5 /dev/nbd6 /dev/nbd7 /dev/nbd8 /dev/nbd9
c) vhdx 파일을 nbd 장치에 연결
Qemu-nbd는 여기서 연결하는 데 사용됩니다(연결하려면 -c 매개변수를 사용하고 연결을 끊으려면 -d 매개변수 사용)
/media/o/data [o@o-pc] [11:05]
> sudo qemu-nbd -c /dev/nbd0 VS2017RC-offline.vhdx
연결 후 fdisk를 사용하여 기기 정보를 확인하세요.
/media/o/data [o@o-pc] [11:05]
> sudo fdisk -l /dev/nbd0
디스크 /dev/nbd0: 100GiB, 107374182400바이트, 209715200 섹터
단위: 섹터 / 1 * 512 = 512바이트
섹터 크기(논리적/물리적): 512바이트 / 512바이트
I/O 크기(최소/최적): 512바이트 / 512바이트
디스크 레이블 유형: dos
디스크 식별자: 0xa373e501
실제로 디스크에는 파티션이 하나만 있고 파티션 형식은 exFAT이며 디스크 크기는 동적으로 커집니다.
d) 파티션 마운트
nbd0p1을 마운트하려면 mount 명령을 사용하세요
/media/o/data [o@o-pc] [11:36]
> sudo 마운트 -t exfat -o rw /dev/nbd0p1 /mnt
[sudo] o 비밀번호:
퓨즈 exfat 1.0.1
/media/o/data [o@o-pc] [12:05]
> ls /mnt/
'$RECYCLE.BIN' '시스템 볼륨 정보' vs2017rc 설치 지침.txt
exFAT 지원 설치
파티션이 exFAT 형식이므로 직접 마운트할 수 없습니다.
먼저 퓨즈-exfat 및 exfat-utils를 설치합니다.
구체적인 설치 과정을 간단히 이야기해보겠습니다
먼저 두 개의 rpm 소스 패키지를 다운로드하세요.
wget http://download1.rpmfusion.org/free/el/updates/6/SRPMS/exfat-utils-1.0.1-2.el6.src.rpm
wget http://download1.rpmfusion.org/free/el/updates/6/SRPMS/exfat-utils-1.0.1-2.el6.src.rpm
그런 다음 퓨즈-개발 및 rpmbuild를 설치하고 src.rpm 패키지의 압축을 풉니다.
sudo dnf 설치 퓨즈-개발 rpmbuild
sudo dnf install scons #exfat-utils 빌드에 필요
rpm -ivh exfat-utils-1.0.1-2.el6.src.rpm exfat-utils-1.0.1-2.el6.src.rpm
압축 해제가 완료되면 현재 사용자의 홈 디렉터리에 rpmbuild 디렉터리가 보이는데, 이 디렉터리 아래에 SPECS 디렉터리로 들어가시면 됩니다.
그런 다음 rpmbuild를 사용하여 rpm 패키지를 빌드합니다.
rpmbuild -ba exfat-utils.spec
rpmbuild -ba 퓨즈-exfat.spec
빌드가 완료된 후 rpmbuild/RPMS/x86_64 디렉터리(여기서 x86_64는 시스템 아키텍처와 관련됨)에 들어가서 생성된 rpm 패키지를 설치합니다.
/home/o/rpmbuild/RPMS/x86_64 [o@o-pc] [12:04]
> sudo rpm -ivh exfat-utils-1.0.1-2.fc25.x86_64.rpm 퓨즈-exfat-1.0.1-1.fc25.x86_64.rpm
준비 중... ####################### ###### [100%]
업그레이드/설치 중...
* ]2:exfat-utils-1.0.1-2.fc25 ############################ [100% ]
우분투에서는 apt를 사용하여 sudo apt install exfat-utils exfat-fuse
를 직접 설치할 수 있습니다.
3. 기타 가상 디스크 파일 마운트지원되는 디스크 이미지 형식이라면 위의 VHD 마운팅과 동일하므로 더 이상 말하지 않겠습니다.
위 내용은 Linux에서 VHD 및 기타 가상 디스크 파일을 마운트하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!