
네트워킹과 파티션 공유 외에도 나는 qemu가 내가 원하는 대로 작동하도록 만들었습니다. 약간의 특별한 설정이 있어서 , 및 을 통과 /dev/sda
해야 /dev/sda1
합니다 /dev/sda2
. ( /dev/sda
통과하지 않고 통과하는 것이 가능한가요 /dev/sda3
? 대체 방법을 사용하여 살아갈 수 있습니다.)
/dev/sda
(MBR) = Windows Bootmgr 켜짐/dev/sda1
/dev/sda1
= 시스템 예약 파티션(Windows의 부트로더)
/dev/sda2
= 윈도우 7의 C:/
파티션
/dev/sda3
= 아치 리눅스(호스트)
/dev/sda3
MBR에 grub이 설치되어 있습니다 /dev/sdc
(즉, 부팅하면 /dev/sdc
아치 Linux 설치로 부팅되고, 부팅하면 /dev/sda
Windows로 부팅됩니다). 저도 통과하겠지만 /dev/sdc
호스트가 필요하지 않기 때문에 이것은 쉽습니다. 부팅 후 이 드라이브에 대한 모든 액세스.
/dev/sdb2
마지막으로 호스트와 게스트 모두에서 동시에 쉽게 액세스할 수 있는 GPT(NTFS) 스토리지 파티션이 있습니다 (두 시스템 간에 공유하고 싶습니다).
/dev/sda
및 을(를) 진행하려면 어떻게 해야 합니까 /dev/sdb2
?
답변1
장치 매퍼를 사용하여 원하는 원래 장치의 일부를 포함하는 장치를 구성할 수 있습니다. 예를 들어:
$ grep . /sys/class/block/sda/**/(size|start)
/sys/class/block/sda/sda1/size:224847
/sys/class/block/sda/sda1/start:63
/sys/class/block/sda/sda2/size:124820514
/sys/class/block/sda/sda2/start:224910
/sys/class/block/sda/size:125045424
내가 원한다면숨다 sda2
/dev/mapper/no_sda2
, 224910부터 125045424까지의 섹터에 0이 포함되는 곳을 만들 수 있습니다 .
먼저 루프 장치를 만드십시오. 그렇지 않으면 dmsetup이
/dev/sda
사용 중이기 때문에 불평할 것입니다. (그러나loop
불평하지 않을 것입니다. 이것은 나에게 매우 일관되게 들리지 않습니다.)losetup /dev/loop0 /dev/sda
그런 다음 다음과 같이 만듭니다
/dev/mapper/no_sda2
.dmsetup create no_sda2 << EOF 0 224910 linear /dev/loop0 0 224910 $((125045424-224910)) zero EOF