如何從檔案建立虛擬區塊設備?

如何從檔案建立虛擬區塊設備?
  • dd if=/dev/sda of=image讓我們在單一檔案中擁有未知磁碟機未壓縮的原始影像(例如由)。
  • 如果我們知道磁碟佈局,我們可以透過跳過一些偏移量將檔案中的特定分割區安裝為循環設備。
  • 假設我們不知道佈局。我們能否以某種方式「掛載」整個磁碟機image,哪個進程將根據磁碟佈局建立虛擬區塊裝置?例如,有 2 個分區將導致image創建 3 個設備 ( /dev/sdx/dev/sdx1/dev/sdx2)。然後我們就可以像往常一樣安裝這類設備。

答案1

經過更多研究後,我發現至少有兩種方法可以測試:

  1. 根據郵政,kpartx是適用的工具。
    • 不幸的是它對我來說在 Arch Linux 上不起作用
    • 它來自 AUR: yaourt multipath-tools-git,似乎沒有得到很好的支持/完成,最終出現如下錯誤:

      設備映射器:在loop0p1上重新載入ioctl失敗:沒有這樣的設備

    • 至少可以用來列出嵌入的分區:kpartx -l image
    • 編輯:根據帖子,它似乎已經過時,首選方法是以下一種。
  2. 根據郵政,losetup可以使用。
    • 首先它不起作用:(losetup /dev/loop0 image缺少特定分割區的設備)。
    • 再次嘗試使用附加-P選項可以完成工作:losetup -d /dev/loop0並且losetup -P /dev/loop0 image創建/dev/loop0pX了設備。
    • 然後這些設備就可以如預期安裝,例如mount /dev/loop0p3 /mnt/x -t ntfs

相關內容