在 VirtualBox 上安裝具有持久儲存的 Tails
Tails OS 通過 .iso 或 .img 文件分發。唯一的 .img 可以具有持久儲存,但只有 .iso 可以掛載到 VirtualBox 並正確啟動。我想擁有具有持久儲存和安裝 3rd 方軟體能力的 VirtualBox Tails 機器。
下面是我所做的。簡而言之,我決定使用快閃記憶體驅動器模擬器。我在 Ubuntu 18.04 上。
我
dummy_hcd.ko
為我的核心建構並通過$ sudo modprobe dummy_hcd $ fallocate -l 8GiB /path/to/flash-drive-file $ sudo modprobe g_mass_storage file=/path/to/flash-drive-file idVendor=0x1d6b idProduct=0x0104 iManufacturer=Myself iProduct=VirtualBlockDevice iSerialNumber=123
然後我通過發出以下命令(是我的虛擬快閃記憶體驅動器)使用通常的 USB 快閃記憶體驅動器將Tails OS .img 文件擴展至該驅動器
dd``/dev/sdd
$ dd if=tails-amd64-3.13.2.img of=/dev/sdd bs=16M
之後,我得到了
/dev/sdd1
可以掛載並查看圖像內容的分區。它的大小正好等於tails-amd64-3.13.2.img
文件大小。
/dev/sdd
然後我創建了綁定到的.vmdk VirtualBox 文件$ sudo VBoxManage internalcommands createrawvmdk -filename ~/usb.vmdk -rawdisk /dev/sdd
我創建了新的虛擬機並選擇了這個 .vmdk 文件,然後啟動了它。不幸的是,在啟動時抱怨磁碟空間不足並停止啟動。我採取
gparted
並調整了這個分區的大小。gparted
向我顯示一條消息,建議修復 GPT 表,我接受了它。也一樣parted
。Warning: Not all of the space available to /dev/sdd appears to be used, you can fix the GPT to use all of the space (an extra 14364672 blocks) or continue with the current setting? Fix/Ignore? Fix Model: Linux File-Stor Gadget (scsi) Disk /dev/sdd: 8590MB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 1235MB 1234MB fat32 Tails boot, hidden, legacy_boot, esp
在那之後(僅應用 GPT 修復就足夠了,而不是實際使用未分配的空間),不幸的是,我從核心收到了這條消息。我想它可能找不到要掛載的根文件系統,並
init
可能從該文件系統繼續引導過程。但是 shell 可用,並且 rootfs 已安裝到 ramdisk 並且可以列出。
問題是您創建的磁碟沒有作為可移動 USB 驅動器連接到 VirtualBox,這正是 Tails(或者更準確地說,
live-boot
Tails 使用的工具)正在尋找的東西。據我所知,VirtualBox 不支持將磁碟添加為可移動 USB 驅動器。但由於您使用的是 Ubuntu,因此您可以使用
virt-manager
虛擬機中的持久捲而不是 VirtualBox:https ://tails.boum.org/doc/advanced_topics/virtualization/virt-manager/index.en.html#usb_image
AFAIK,你“不能”(*)同時執行 Virtualbox 和 virt-manager,因為它們會爭奪硬體的控制權(我很想在這個問題上錯了……)。如果一個人已經有很多 VirtualBox 虛擬機並且只想另外執行 Tails,那麼這是一個很好的選擇。需要可以同時執行兩者,或者找到在 Virtualbox 上執行此操作的方法。現在的替代方案(將所有內容移至 virt-manager)是一個更大的問題 - 一個相當高的要求。
(*)參考。https://askubuntu.com/questions/413511/can-virtualbox-and-kvm-run-alongside-each-other
Virtualbox 中有一個“有時”可以解決此限制的工具(“無法將磁碟添加為可移動 USB 驅動器”);Plop 引導管理器,參考: - https://www.howtogeek.com/97923/how-to-boot-a-vmware-virtual-machine-from-a-usb-drive/