我发现了许多关于创建可启动的实时 Linux 映像的教程,但我想创建一个非常特殊的 USB-linux 随身碟,它允许我
- 如果在启动时启动,则使用本机硬件启动 Linux 映像(因此不是虚拟化的)
- 在 Windows 上使用剩余空间用于存储目的(因此不使用 ext 文件系统进行格式化)
- 如果我尝试从另一个已启动的操作系统(例如 Windows)启动它,则作为虚拟化操作系统启动
我选择在随身碟上安装的发行版是 Kali,但我不知道如何执行这一切。
有人可以帮助我吗?谢谢
答案1
Gilsham 基本上回答了你的问题,只要你使用 VirtualBox。
在这里输入:
- 找到您的驱动器标识符和绝对路径:
在 Linux 下检查 /dev/sd* 或通过 parted 或 GParted
在Windows下打开硬盘管理器[Win+R“mmc”->添加“磁盘管理”/或“计算机管理”并打开“磁盘管理”]
- 通过virualbox管理工具创建vmdk文件:
VBoxManage internalcommands createrawvmdk -filename yourChosenMachineNamePath.vmdk -rawdisk <disk absolute path>
可能必须使用 sudo
在 VirtualBox 中创建虚拟机或将新创建的链接文件作为存储文件添加到现有 VM
启动虚拟机。
- 请注意:Windows Vista/7/8 可能会非常恼火,每次将其切换到虚拟机或从虚拟机切换时都必须重新激活它,因为硬件签名会发生变化,而 Windows 真的非常不喜欢这样。
至于 Linux 系统:根据您的引导加载程序设置,您可能需要重新安装/修复 GUI 和其他一些东西。
- 例如:我在服务器上安装 Oracle Linux 进行测试时遇到了麻烦。光驱有故障,没有网络,而且创建实时 Oracle Linux USB 磁盘并不容易。因此,我制作了持久 Ubuntu,添加了 VirtualBox 和 Oracle Linux ISO,通过 VirtualBox 安装了 Oracle Linux,启动系统后,我不得不重新安装 Gnome2,因为出于某种原因它无法工作。
补充笔记:
如果您想在 USB 驱动器上有两个或更多分区,则在整个过程开始之前准备分区 [例如:GParted]。由于我们讨论的是多分区 USB,因此 VBoxManage createrawvmdk 的参数将是 /dev/sd?# where ?是设备的 a/b/c/...,# 是分区号。我建议将另一个分区格式化为NTFS。大多数 Linux 发行版在 CRUDing NTFS 上都没有问题,并且支持大文件。
如果您想通过某些 Live USB 创建器创建此 live-usb,请确保目标是您想要保存数据的确切分区,然后创建数据传输分区。为了避免麻烦,请在分区之间留一些空间。我一般用1MB。我知道,数量很多,但在 >4 GB USB 驱动器上,这并不重要,而且我实际上不必担心,在 Win 下应用此过程时,关于重叠分区 [在我的计算机中遇到过两次此问题生活,我再也不想拥有它了]