我正在努力将 Kali linux 放到 USB 记忆棒上 - 我知道它是已经写好了,但我只想使用总空间的一部分(上述链接将使用整个驱动器空间)。
让我们将我的 16GB USB 驱动器安装为 sdb...目标是:
16 GB total, split like this...
----------------------------
| 11 | 01 | 04 | (GB)
----------------------------
sdb1 sdb2 sdb3 (partition ID)
FAT32 FAT32 FAT32 (format)
storage fatdog kalipart (label)
- sdb1 是 FAT32 和主存储区域(以便 [Windows 可以看到它][2] 以及任何其他操作系统)
- sdb2 是可引导的,并且安装了 Fatdog64 (6.3.0) 和 Precise Puppy (5.7.1)(从一个 syslinux 菜单进行多重引导)
- sdb3是Kali使用的目标分区
目标是多重启动 Fatdog64、Puppy 和 Kali linux。目前,sdb2 是可引导的 (syslinux),并成功传递给 sdb2 上的 Fatdog 和 Puppy。接下来我想向 sdb3 上的 Kali 添加链式加载。在我看来,最好的方法是从 syslinux(都在 sdb2 上)加载 GRUB4DOS,从 GRUB4DOS 映射 sdb3 和 chainload 到 sdb3。
所以我问:如何将 Kali 安装到该 U 盘上的现有分区上?
其他选项:
- 从 Kali 发行版本身将实时 Kali 安装到 USB 记忆棒/分区上 - 但这似乎不像 Fatdog/Puppy/Ubuntu 那样是一个选项
- 直接启动到 sdb3,必要时链式加载到 sdb2(不是首选,但一个选项)
更新:
我尝试使用 Fatdog64 将文件从已安装的 iso 复制到 sdb3,并注意到几个错误,主要是在复制固件文件时。这是两个例子:
Copying /mnt/+mnt+sda1+isos+kali-linux-1+0+6-i286+kali-linux-1+0+6-i286+iso/firmware/amd64/microcode_1.20120910-2_i386.deb as /mnt/sda3/firmware/amd64-microcode_1.20120910-2_i286.deb ERROR: Operation not permitted Copying /mnt/+mnt+sda1+isos+kali-linux-1+0+6-i286+kali-linux-1+0+6-i286+iso/debian as /mnt/sda3/debian ERROR: Operation not permitted
这些错误看起来像权限错误,但我无法判断它们是否影响启动(我可以稍后解决其他错误,我更愿意将这个问题保留为多重启动)。
我正在从默认通过 Fatdog64 安装的 SYSLINUX 链式加载 GRUB4DOS ...
label grub4dos menu label grub4dos boot /boot/grub/grldr text help Load grub4dos via grldr (in /boot/grub) endtext
...然后一旦进入 GRUB4DOS,我就成功地链接加载了 GRUB2(在 kali 分区上)...
title Load GRUB2 inside of kali find --set-root /g2ldr.mbr chainloader /g2ldr.mbr
...但是这一切给我的只是一个
grub>
提示,而且我还没有找到 GRUB4DOS 命令的任何正确组合来使用 GRUB2 配置文件加载 GRUB2 - 并且更令人困惑的是,我认为 Kali 的 live CD iso 运行了在 syslinux 上。 (@jasonwryan @user63921)
答案1
我会在 linux 中向 sdb3 写入零:
dd if=/dev/zero of=/dev/sdb3 bs=32k
然后将其格式化为FAT32。每当您格式化或重新格式化卷时,请务必为其添加标签。无论何时多重引导或其他任何情况,您都应该真正标记所有卷!
然后安装全尺寸的 Kali ISO(而不是迷你 ISO)(或者如果已经刻录到 CD,则将磁盘放入 CDROM 驱动器)
将 Live CD 文件和文件夹从 Kali CD 或安装的 ISO 复制到新的 FAT32 卷
然后我会在 USB 上重命名autorun.inf
为autorun.NOT
,然后您应该能够从 Grub 启动到 Kali 实时文件集。
Syslinux 不会从一个分区启动到另一个分区,在 Syslinux 的未来版本之前,您不应该能够访问除具有目标ldlinux.sys
文件的分区之外的其他分区。
Kali 1.0.6 使用 isolinux 4.05,因此如果您要迁移到 Syslinux,它也必须是 4.05 版本。
答案2
因为听起来您正在使用 Live ISO,而不是安装到闪存驱动器:Pendrive Linux 的人们创建了您的通用多重启动安装程序 (YUMI)。他们支持所有流行的 Live ISO 以及许多对我来说不熟悉的 ISO。卡利也在那里。我早已停止手动执行此操作了。您可以在闪存驱动器上安装尽可能多的 Live ISO。如果发行版支持持久性,您可以选择创建持久性挤压文件。注意:在 Windows 下运行,在 Wine 下找不到驱动器。 Linux 版本处于早期测试阶段。
http://www.pendrivelinux.com/yumi-multiboot-usb-creator/
享受!
(与网站无关,我只是非常喜欢他们的免费产品)
答案3
只需安装到另一个笔式驱动器并将文件复制到需要安装的特定分区即可。将分区标志更改为可引导(启用启动标志) 在分区管理器中i.e diskpart, windows disk manager, Gparted... etc.