VirtualBoxに永続ストレージを含むTailsをインストールする

VirtualBoxに永続ストレージを含むTailsをインストールする

Tails OSは.isoまたは.imgファイルを介して配布されます。 .imgのみが永続ストアを持つことができますが、.isoのみがVirtualBoxにインストールされ、正しく起動できます。永続的なストレージとサードパーティのソフトウェアインストール機能を備えた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

次に展開します。テイルズ OS .img ファイルdd次のコマンドを実行して、通常のUSBフラッシュドライブをこのドライブ(/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このパーティションのサイズを変更しました。gpartedGPTテーブルを修理しようとするメッセージが表示され、それを受け入れました。また同じです 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このファイルシステムで起動プロセスをマウントして続行するには、ルートファイルシステムが見つからない可能性があると思いました。

ここに画像の説明を入力してください。

ただし、シェルは使用可能であり、rootfsはRAMディスクにマウントして一覧表示できます。

答え1

以下は正常にテストされました。仮想ボックス6.1.32そして尾5.1

ステップ1:ディスクイメージの準備

  1. ダウンロードUSBイメージプロジェクトウェブサイトの尾

  2. ダウンロードした画像をVDI形式に変換します。

    $ VBoxManage convertfromraw Tails-amd64-5.1.img Tails.vdi --format vdi

    (注:.imgファイルは不要になり、削除できます。)

  3. 永続ボリューム用のスペースを確保するためにVDIのサイズを変更します。

    $ VBoxManage modifyhd Tails.vdi --resize 16384

    (注:サイズ変更値として8000 MB + <希望の永続ボリュームサイズ(MB)>を使用してください。)

ステップ2:仮想マシンを設定する

  1. フォローするプロジェクトのウェブサイトで提供されるガイダンスTails用の新しい仮想マシンの設定

  2. 新しく作成したVMの次の設定を変更します。

    • システム->マザーボード->拡張-> 少ないEFIを有効にする(特殊オペレーティングシステムのみ)

      (注:USBストレージから起動できる機能が必要です)

    • 保存->新しいストレージコントローラの追加(最も左下のアイコン) ->USB

    • 保存->コントローラ:USB->新しいストレージ接続の追加(左下から3番目のアイコン) ->ハードディスク- >手順1で作成したVDIイメージを選択します。

  3. 仮想マシンの解像度の設定(オプション):

    $ VBoxManage setextradata <vm-name> VBoxInternal2/EfiGraphicsResolution <resolution>

    (注:<resolution>「WIDTHxHEIGHT」形式で提供されています(例:「1600x900」)

ステップ3:仮想マシンの起動と永続ボリュームの設定

  1. 仮想マシンの起動

  2. 起動メニューから選択テール(外付けハードドライブ)

    (注:参照してください。この回答起動メニューを永久に変更する方法について(必要な場合)

  3. Tailsが起動したら、次を選択します。適用分野->->永続ボリュームの構成永久ボリューム設定

スクリーンショット:

USB起動用のEFIを有効にする

USBストレージ/画像の追加

正しい起動メニュー項目を選択してください

永久ボリューム設定

答え2

問題は、作成したディスクがVirtualBoxにリムーバブルUSBドライブに接続されていないことです。これはTails(またはより正確にはlive-bootTailsが使用するツール)が探しているものです。私が知っている限り、VirtualBoxはディスクをリムーバブルUSBドライブとして追加することをサポートしていません。

ただし、Ubuntuを使用しているため、virt-managerVirtualBoxの代わりにVirtualBoxを使用して仮想マシンで永続ボリュームを使用できます。https://tails.boum.org/doc/advanced_topics/virtualization/virt-manager/index.en.html#usb_image

答え3

@Maxximの回答に投票したり、コメントを提示するのに十分な「評判」がない場合は、次の追加事項があります(あなたの回答に自由に含めてください、Maxxim)。

Maxximsメソッドを使用したら、3番目の起動オプションEvery.single.bootを手動で選択する必要があります。 IMO では、ルートシェルで grub.cfg を編集する方がよいでしょう。

mount -o remount -w /lib/live/mount/medium/
find /lib/live/mount/medium/EFI/debian/ -name "grub*.cfg" | xargs sed -i 's/ live-media=removable//g'
mount -o remount -r /lib/live/mount/medium/

それ以降はTailsが非対話型になります。

答え4

AFAIK、Virtualbox、virt-managerはハードウェア制御のために戦うため、同時に実行することはできません(*)。 (この問題について間違っていることを嬉しく思います...)すでに多くのVirtualBox VMがあり、Tailsをさらに実行したい場合は、これは衝撃的な問題になる可能性があります。両方を同時に実行する方法、またはVirtualboxでこれを行う方法を見つける必要があります。現在の選択肢(すべてをvirt-managerに移動)はより大きな問題です。やや難しい作業です。

(*)参照番号https://askubuntu.com/questions/413511/can-virtualbox-and-kvm-run-alongside-each-other

Virtualboxには、この制限を「時々」解決するツールがあります(「ディスクをリムーバブルUSBドライブとして追加することはできません」)。フロップスタートアップマネージャー、参照番号:-https://www.howtogeek.com/97923/how-to-boot-a-vmware-virtual-machine-from-a-usb-drive/ -https://www.plop.at/en/bootmanagers.html

関連情報