Filesystems
創建和填充 FAT32 文件系統而不掛載它
有沒有辦法創建一個包含一組文件的 FAT32 文件系統,而無需掛載它或具有 root 訪問權限?
作為愛好,我正在為舊作業系統開發軟體應用程序,作為建構過程的一部分,我想將一些源文件打包成 FAT32 磁碟映像,然後啟動 QEMU 以啟動映像並執行舊編譯器它。之後我想從 FAT32 磁碟映像中提取編譯後的文件。
我可以使用 來創建文件系統
mkfs.vfat
,但是我知道將文件進出映像的唯一方法是掛載它,這通常需要 root 訪問權限並且不利於嵌入到建構過程中。理想情況下,我追求的是
zip
和unzip
實用程序之類的東西,而不是創建/提取 .zip 文件,它會創建和提取 FAT16 或 FAT32 格式的磁碟映像。這樣的事情存在嗎?我能在網上找到的唯一東西都涉及安裝磁碟映像。
當然,儘管我所有的搜尋都不成功,但在發布有關它的問題後不久,我終於找到了答案。
所以
mtools
包可以這樣做:# Create a 2 MB file dd if=/dev/zero of=disk.img bs=1M count=2 # Put a FAT filesystem on it (use -F for FAT32, otherwise it's automatic) mformat -i disk.img :: # Add a file to it mcopy -i disk.img example.txt :: # List files mdir -i disk.img :: # Extract a file mcopy -i disk.img ::/example.txt extracted.txt
mtools
通過指定驅動器號(如C:
)來工作,特殊:
驅動器(指定為::
)指的是帶有-i
選項的命令行上給出的圖像。