qemu 中的共享分區

qemu 中的共享分區

除了網路和分區共享之外,我還讓 qemu 工作得非常像我想要的那樣。我有一些特殊的設置,我需要通過/dev/sda/dev/sda1/dev/sda2。 (是否可以/dev/sda不通過它/dev/sda3?我可以接受使用替代方法。)

/dev/sda(MBR) = Windows Bootmgr 開啟/dev/sda1

/dev/sda1= 系統保留分割區(Windows 的開機載入程式)

/dev/sda2= Windows 7 的C:/分割區

/dev/sda3= Arch Linux(主機)

我已經將/dev/sda3grub 安裝到了 MBR 中/dev/sdc(這意味著引導/dev/sdc將引導我進入我的 arch Linux 安裝,引導/dev/sda將引導我進入 Windows)我也會通過,/dev/sdc但這很容易,因為主機不需要啟動後對此驅動器的任何訪問。

最後,我有一個 GPT(NTFS)儲存分割區,/dev/sdb2我希望可以同時從主機和來賓輕鬆存取該分割區(我想在兩個系統之間共用它)

我該如何繼續/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 包含零的磁區:

  • 首先創建一個循環設備,否則 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
    

相關內容