USB 驱动器上的 Kali Linux 安装

USB 驱动器上的 Kali Linux 安装

我想要安装Kali Linux 位于 64 GB USB 驱动器上,希望将其带到任何地方并将其插入任何 PC 并让我的设置启动并运行。 IOW 我只想要一个 HDD,比如 USB 上完整的 Kali Linux 便携式安装。

我不想要实时启动或持久性或任何东西,我显然想将它安装在 USB 上,就像我们通常在 HDD 上安装 Kali Linux 一样。

我想提供一些有关我的内部硬盘的信息 -

root@Kali:~# fdisk -l
Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Disk model: ST500DM009-2F110
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 0BBC9B99-EE7E-11E8-8BD6-843C86F9DFC6
Device         Start       End Sectors     Size Type
/dev/sda1       2048   1126399 1124352     549M Microsoft basic data
/dev/sda2    1126400 210561023 209434624  99.9G Microsoft basic data
/dev/sda3  210561024 210765823 204800      100M EFI System
/dev/sda4  210765824 315623423 104857600    50G Linux filesystem
/dev/sda5  315623424 328206335 12582912      6G Linux swap
/dev/sda6  328206336 537921535 209715200   100G Linux filesystem
/dev/sda7  537921536 976773134 438851599 209.3G Microsoft basic data

Disk /dev/sdb: 57.9 GiB, 62109253632 bytes, 121307136 sectors
Disk model: Ultra          
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: BC1A35EC-FF80-4CCB-BD61-30F7FF3CDA4A
Device        Start End       Sectors    Size  Type
/dev/sdb1      2048 206847    204800     100M  EFI System
/dev/sdb2    206848 68567039  68360192   32.6G Linux filesystem
/dev/sdb3  68567040 76380159  7813120    3.7G  Linux swap
/dev/sdb4  76380160 121305087 44924928   21.4G Linux filesystem

/dev/sda是我的内部硬盘,在 UEFI 模式下以双启动方式安装了 Windows 10 + Manjaro。

/dev/sdb是我要安装 Kali Linux 的目标 64 GB USB 驱动器。您在这里看到的/dev/sdb是我的 Kali Linux 的当前安装(我的第三次尝试)。

我从官方 Kali Linux 下载页面下载了 Kali Linux KDE 2019 ISO,使用 Rufus 在另一个备用 16 GB USB 中以 DD 模式进行实时启动。我删除了目标 USB 上的所有分区并使其处于未分配状态。从 Live USB 启动,选择图形安装程序,完成分区之前的所有过程。

我选择手动分区方法,然后对我的目标 USB 进行分区(如/dev/sdc安装程序中所示),如下所示 -

SCSIl (0,0,0) (sdc) - 62.1 GB
>                       1.0 MB              FREE SPACE
>   #1   /dev/sdc1    104.9 MB    B    K    ESP         EFI system partition
>   #2   /dev/sdc2     35.0 GB         f    ext4        /
>   #3   /dev/sdc3      4.0 GB         f    swap        swap
>   #4   /dev/sdc4     23.1 GB         f    ext4        /home
>                       1.0 MB              FREE SPACE

我检查了所有内容,尤其是 EFI 分区中的可启动标志“on”。确保一切正常后,我继续安装。单击“继续”后我注意到的一件不寻常的事情是,我只在我的 上创建了 4 个分区/dev/sdc,但“要格式化的分区”下列出了 5 个分区,我检查并发现,除了 4 个新创建的分区外/dev/sdcswap上的分区/dev/sda也是还列出了要格式化的地方。我觉得这很奇怪,因为我在分区时甚至没有碰过它/dev/sda,但我忽略了它并单击了“继续”。系统安装成功,安装完成并重启。还拿出了Live U盘。

到目前为止,一切都很好。

出现 grub 屏幕,选择 Kali,然后繁荣!我遇到的第一件事是黑屏(initramfs),因为 grub 无法找到根分区/dev/sdc(注意:安装时目标 USB 是/dev/sdc,但移除 Live USB 记忆棒后它变成/dev/sdb)。因此,我重新启动并按“e”返回 grub,并将 root 的设备路径从 更改/dev/sdc2/dev/sdb2。按 F10,我就进入了 Kali Linux 桌面,耶!

好吧,不是那么好。我刚刚启动 GParted 来检查我的所有分区是否完好无损,令我惊讶的是,我看到安装了 EFI 分区/dev/sdb,而不是我在 上创建的 EFI 分区,/dev/sda安装了根分区、交换分区和主分区/dev/sdb,并且交换分区/dev/sda也已安装!卧槽!

/dev/sdb预计要安装的EFI 分区/boot/efi也是不是安装!

这让我头晕目眩,我又尝试了一次上述步骤,但结果相同。然后我在某处读到 EFI 分区必须已经存在于目标 USB 驱动器上,所以我也尝试了,但没有结果。

因此,我关闭系统并将 USB 插入另一台笔记本电脑,看看它是否工作,但一旦我启动启动菜单,就没有从 USB 启动的选项。我尝试禁用旧版支持和安全启动。也尝试添加启动选项,但 USB 的文件系统中没有可用的 EFI 文件。 Kali 的 EFI 文件可在我的内部 HDD 的文件系统中与 Manjaro 和 Windows 一起使用,这清楚地表明 EFI 文件已安装在/dev/sda.

我需要找出这里发生了什么,出了什么问题,我该如何解决这个问题,以及我如何实现我的目标目的上文提到的。

答案1

首先,启动 Linux 系统并使用 Kali 插入 USB,从终端挂载 USB 的所有分区,发布blkid并保留 USB 驱动器上分区的所有 UUID。打开/etc/sftabUSB/并确保其中提到的所有分区都通过 UUID 挂载,这样您就不会将系统与要加载的分区混淆。我想补充discard,noatime,commit=600一点,请从 USB 驱动器中删除交换分区,然后进行交换。

例子:

UUID=739cbe4a-82c1-46cb-8bb1-dbce3259d1f8 / ext4 discard,noatime,commit=600,defaults 0 2

您可能还需要编辑 grub 配置才能使用 UUID 查找根目录。

当您启动计算机时,找到用于选择启动设备的 F 键(我见过F10F12,它可能是另一个),您应该看到 USB 的两个条目(如果计算机上启用了传统启动),选择您的 US 驱动器并且,如果有两个,您可能会选择错误的一个(传统启动),因此请重复另一个,系统“应该”启动。

答案2

我终于解决了这个问题!

使用这个维基 -https://wiki.debian.org/GrubEFI重新安装

相关内容