Tails OS는 .iso 또는 .img 파일을 통해 배포됩니다. .img만 영구 저장소를 가질 수 있지만 .iso만 VirtualBox에 설치하고 올바르게 부팅할 수 있습니다. 영구 스토리지와 타사 소프트웨어 설치 기능을 갖춘 VirtualBox Tails 시스템을 원합니다.
내가 한 일은 다음과 같습니다. 즉, 플래시 드라이브 에뮬레이터를 사용하기로 결정했습니다. 우분투 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
이 파티션의 크기를 조정했습니다 . 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
이 파일 시스템에서 부팅 프로세스를 마운트하고 계속하려면 루트 파일 시스템을 찾지 못할 수도 있다고 생각했습니다 .
그러나 쉘은 사용 가능하며 rootfs는 램디스크에 마운트되어 나열될 수 있습니다.
답변1
다음은 성공적으로 테스트되었습니다.가상박스 6.1.32그리고꼬리 5.1.
1단계: 디스크 이미지 준비
다운로드한 이미지를 VDI 형식으로 변환합니다.
$ VBoxManage convertfromraw Tails-amd64-5.1.img Tails.vdi --format vdi
(참고: .img 파일은 더 이상 필요하지 않으며 삭제할 수 있습니다.)
영구 볼륨을 위한 공간을 확보하기 위해 VDI 크기를 조정합니다.
$ VBoxManage modifyhd Tails.vdi --resize 16384
(참고: 크기 조정 값으로 8000MB + <원하는 영구 볼륨 크기(MB)>를 사용하세요.)
2단계: 가상 머신 설정
따르다프로젝트 웹사이트에서 제공되는 지침Tails용 새 가상 머신 설정
새로 생성된 VM의 다음 설정을 변경합니다.
체계->마더보드->확장-> 덜EFI 활성화(특수 운영 체제에만 해당)
(참고: USB 저장소에서 부팅할 수 있는 기능이 필요합니다)
저장->새 스토리지 컨트롤러 추가(가장 왼쪽 하단 아이콘) ->USB
저장->컨트롤러: USB->새 저장소 연결 추가(왼쪽 하단에서 세 번째 아이콘) ->하드 디스크-> 1단계에서 생성한 VDI 이미지를 선택합니다.
가상 머신 해상도 설정(선택 사항):
$ VBoxManage setextradata <vm-name> VBoxInternal2/EfiGraphicsResolution <resolution>
(참고:
<resolution>
"WIDTHxHEIGHT" 형식으로 제공됨(예: "1600x900")
3단계: 가상 머신 시작 및 영구 볼륨 설정
가상 머신 시작
부팅 메뉴에서 선택테일(외장 하드 드라이브)
(참고: 참조하세요.이 답변부팅 메뉴를 영구적으로 수정하는 방법 정보(필요한 경우)
Tails가 시작된 후 다음을 선택하십시오.적용분야->꼬리->영구 볼륨 구성영구 볼륨 설정
스크린샷:
답변2
문제는 생성한 디스크가 VirtualBox에 이동식 USB 드라이브로 연결되어 있지 않다는 것입니다. 이는 Tails(또는 더 정확하게는 live-boot
Tails가 사용하는 도구)가 찾고 있는 것입니다. 내가 아는 한 VirtualBox는 디스크를 이동식 USB 드라이브로 추가하는 것을 지원하지 않습니다.
그러나 Ubuntu를 사용하고 있으므로 virt-manager
VirtualBox 대신 VirtualBox를 사용하여 가상 머신에서 영구 볼륨을 사용할 수 있습니다.https://tails.boum.org/doc/advanced_topics/virtualization/virt-manager/index.en.html#usb_image
답변3
@Maxxim의 답변에 투표하거나 의견을 제시할 만큼 "평판"이 충분하지 않은 경우 다음과 같은 추가 사항이 있습니다(귀하의 답변에 자유롭게 포함시키세요, Maxxim).
Maxxims 방법을 사용한 후에는 세 번째 부팅 옵션인 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