USB移动存储设备上安装Kali Linux(独立系统 非Live 非虚拟机)Standalone Kali Linux + grub2 + luks加密

2023-05-16

前言

本文分享的是在USB移动设备上安装Kali Linux独立系统
非Live版! 非虚拟机版!
非Live版! 非虚拟机版!
非Live版! 非虚拟机版!
这里的USB设备包括U盘、移动硬盘(包括NVMe)
独立系统指的是有完整的引导的可以直接运行的Kali Linux完整系统,简单地说就是不需要任何其它系统、虚拟机也可以直接运行并可保存更改的Kali Linux
网上现有大部分教程都是虚拟机版或Live版
如果想装Live版或者虚拟机版请转到其它教程

参考https://www.kali.org/docs/usb/usb-standalone-encrypted/
注:本教程很多部分参考上方的网页(kali官网教程),但是其部分细节没表达清楚,问题处理较简单

本教程的所有过程都经过本人测试,并在两个硬件(King Stone 128G的U盘和西部数据的500G的NVMe移动硬盘)上测试可用,但不保证普适

安装过程比较折腾,易操作错误,但结果比较满意,所以写下此教程

什么是Kali Linux独立系统 (Standalone Kali Linux)?

Kali Linux是一个系统(废话),有很多渗透测试工具
(更多关于Kali Linux的详细可以去官网或者任意搜索引擎搜索)

先简单介绍一下几个不同版本的区别:

  • 纯硬盘版 (Bare Metal):在电脑的硬盘上安装,修改引导文件,可以是双系统或者替代原系统;
  • 虚拟机版 (Virtual Machines):在已有的系统上的虚拟机软件(如:VMware、VirtualBox)上安装;
  • ARM版 (ARM):在支持ARM指令集的机器或虚拟机上安装;
  • 安卓手机版 (Mobile):又名NetHunter,是一个改过的安卓系统,与Kali Linux不是一个东西;
  • 云端版 (Cloud):一个云端镜像,直接可以装在云服务器上;
  • 容器版 (Container):Docker或LXC/LXD的容器,容器的概念不做介绍;
  • Live版 (Live Boot):一个镜像文件,用于做USB ROM(只读),即不可改,所有对系统的更改都不会保存;
  • WSL版 (WSL):主要是Windows的WSL,是一个Windows的子系统,比虚拟机更轻便,但有诸多限制,具体不做介绍;
  • 独立版 (Standalone): 可移动的纯硬盘版,即装在可移动存储设备上安装的纯系统
    注:Standalone版在官网上没有作为一个单独的版本,分类在Kali-USB,但其实可以认为是特殊安装的纯硬盘版

小结:
这里只讨论独立版和几个常见的版本:纯硬盘版、虚拟机版、Live版、WSL版

版本不更改原系统引导不需要已有系统支持不需要虚拟机支持可保存更改可移动
纯硬盘版
虚拟机版
Live版
WSL版
独立版

注:上表所述特性可能不严谨,如:可移动指可简单地移动,备份恢复等不考虑,操作不当造成的更改不考虑

可见Kali Linux独立版可以认为是 可移动的纯硬盘版 或 可保存修改的Live版

本教程分享的是安装Kali Linux独立版

本人安装使用经历

(本章可以跳过,但如果安装出错可以再来看看)

本教程的安装环境是刃9000K台式机,两张普通32G U盘,一张500G NVMe SSD移动硬盘
测试环境是刃9000K台式机和Surface Pro 7 64位 i7
两张U盘的作用是做USB ROM,使用完后可以挪做它用
上述环境仅是本教程测试可行的环境,不推荐也不做评价

写本教程时,本人第四次安装Standalone Kali Linux,前三次经历如下:

  • 第一次,尝试在VMware中的Kali Linux虚拟机下分区和格式化U盘,在格式化最大的主分区时与U盘断开连接,格式化(创建文件系统)不成功,更换存储设备也遇到同样问题。如果遇到此问题,不代表移动存储设备有问题或不支持。猜测原因是VMware虚拟机下使用mkfs指令不支持对大分区创建文件系统。(如有成功欢迎分享指正)
  • 第二次,使用Ubuntu Live下分区和格式化U盘成功,成功安装Kali Linux(无引导),在Ubuntu Live下安装grub引导成功,但电脑不识别U盘。如果遇到此问题,不代表移动存储设备有问题或不支持。本次出错是操作不当引起,在修改启动文件后重装grub,成功识别并启动,后文会提到。但是,由于使用的是128G的U盘,它的4K小文件读写较慢(具体参数自行测试),所以安装时间非常长(可能超过5个小时),系统运行也非常慢,基本无法操作,FireFox启动大概花了超过半个小时,所以强烈不建议在普通U盘上安装,虽然确实可以装。(当然想玩玩随便)
  • 第三次,换用NVMe SSD移动硬盘,操作与第二次几乎一致,但幸运的是安装非常顺利。进入系统后运行顺畅,使用一切正常。有第四次安装是因为在安装软件时把桌面删了,然后只有tty(具体问题和解决方案后文介绍),重装桌面后出错,所以重装系统,重装前如何导出数据后文介绍。

教程正文

一、准备

如果希望使用本教程,需要具备以下条件:

  • 至少8G的U盘两张(8G不支持预装Kali的所有工具,可之后安装),需要预装所有工具可以用一张8G、一张16G的U盘。这两张U盘在安装完成后都可以恢复正常存储使用;
  • 至少64G的移动硬盘(普通U盘实测可以安装并运行,但速度可能不能接受),推荐SSD,最好是NVMe,越快越好(当然数据可靠性也重要);
  • 一台电脑,内存至少2G(具体看Ubuntu Live和Kali Bare Metal官网上的最低参数),尽量别太小(低于2G的电脑还是别折腾了吧╮(╯▽╰)╭),内存一定程度影响速度。这里不推荐了,因为真没必要特地买台电脑。值得注意的是本教程用的电脑是UEFI启动,Legacy不清楚是否可行,近几年的电脑应该大部分是UEFI。个人认为现役的电脑基本都可以满足要求;
  • 写iso镜像的工具,Windows下应该没有自带的软件,网上各类软件非常多,这里不推荐,搜索一下应该不难找到;Linux下自带dd命令;
  • Ubuntu Live镜像一份(也可以是其它发行版),Ubuntu官网上首页直接下载的.iso安装文件就可以直接用,https://ubuntu.com/download/desktop上点Download;
  • Kali Linux Bare Matel版镜像一份,没有测试过NetInstaller,推荐Installer或Everything,Everything预装所有的Kali工具,Installer预装常用工具,网址:https://www.kali.org/get-kali/#kali-bare-metal。但其实进系统后sudo apt install kali-linux-everything其实就可以安装所有工具,选Installer下载和制作会快一点;
  • 一定的英语水平,如果英语真的不行 (比如不认识Download之类的) ,真的别折腾Linux了,可能会出大问题。

如果有需求更少的安装方法,欢迎提出指正。

二、制作辅助U盘

下载两个镜像,我用的是Ubuntu 20.04.3 LTS和Kali Linux 2022.1,其它接近的版本或者其它发行版应该也可行。

Windows:用软件直接导入,上网搜索“windows iso写入u盘”有不少教程;
Linuxdd if=<iso文件路径\> of=/dev/sdx bs=1024 status=progress,这里的sdx是你的U盘,不清楚可以先ls /dev,然后插上U盘再ls /dev,多出来的那个就是,记住U盘是sda、sdb、sdc还是别的sd?,然后再用dd工具导入镜像,可搜索“dd写iso到U盘”,网上有很多教程(搜索时不用加引号)。

注意在制作时不要挂载U盘,windows下应该没有这个问题,Linux下要umount,但不要弹出(如udisksctl power-off),mount和umount是linux的基本命令,不会建议学一下,可以搜索“Linux umount”。

两个镜像分别导入两张U盘,Ubuntu导入至少8G的U盘,Kali Linux Installer导入至少8G的U盘、Everything可能需要大一些(大于10G应该够了),具体看iso文件大小。

三、分区和格式化(创建文件系统)

1. 进入Ubuntu
我们已经安装好了两个镜像,首先插入导入Ubuntu的U盘,进入USB ROM系统,UEFI或Legacy怎么进入U盘启动盘的教程网上实在太多了,可以搜索“<电脑型号>进入u盘启动”,电脑型号根据自己的系统填上。选择Try Ubuntu,不要装
2. 打开终端一定确保移动硬盘里没有需要的数据!需要格式化!
<Ctrl>+<Alt>+t 组合键或者在程序列表里打开终端,gdisk /dev/sdx,这里的sdx是你的移动硬盘,方法跟上一节一样,先ls /dev,然后插上U盘再ls /dev,多出来的那个就是(后文所有sdx都是这个方法确定,命令中需代替sdx);然后o创建新GPT表;n加一个分区第一次出现的提示Partition number是分区号,默认就好,第二次是开始扇区First sector,默认就好,第三次结束扇区Last sector要输入分区大小,第四次是类型。我们要的做的分区如下:

/dev/sdx1,   4.0 GiB,  类型 8301, Linux 保留, 挂载在/boot
/dev/sdx2,   2.0 MiB,  类型 ef02, BIOS 启动分区, 会写入grub2
/dev/sdx3, 128.0 MiB,  类型 ef00, EFI 分区
/dev/sdx4,   8.0 GiB,  类型 8200, Linux swap 交换内存分区
/dev/sdx5,  <剩余大小>, 类型 8300, Linux 文件系统(主分区)

在第三个提示时输入的格式是+4G、+2M、+128M、+8G,最后一个没有特殊需求直接默认把剩余空间全给主分区
第四个提示分区类型输入类型对应代码

添加5个分区的方式一样,参数不同
第4个分区swap只要8G就差不多了,网上有文章介绍swap大小怎么设置,但是,我们不知道我们的系统会插在什么硬件上,所以内存大小不一定,更不用提休眠!
所以8G就差不多了,不用太大

然后w写入
3. 加密分区

sudo cryptsetup luksFormat --type=luks1 /dev/sdx1
sudo cryptsetup luksFormat /dev/sdx4
sudo cryptsetup luksFormat /dev/sdx5

注意第一个分区 (Linux reserved) 要用luks1否则可能grub2不支持
这里的密码可以设置成一样的,但要复杂一点,但一定要记住,不同密码不会更安全。(这里的加密直接加密分区,所以忘记了就只能数据全没了)
4. 打开加密分区映射(创建mapper)

sudo cryptsetup open /dev/sdx1 LUKS_BOOT
sudo cryptsetup open /dev/sdx4 LUKS_SWAP
sudo cryptsetup open /dev/sdx5 LUKS_ROOT

5. 创建文件系统

sudo mkfs.ext4 -L boot /dev/mapper/LUKS_BOOT
sudo mkfs.vfat -F 16 -n EFI-SP /dev/sda3
sudo mkswap -L swap /dev/mapper/LUKS_SWAP
sudo mkfs.btrfs -L root /dev/mapper/LUKS_ROOT

6. 关闭加密分区映射

sudo cryptsetup close LUKS_BOOT
sudo cryptsetup close LUKS_SWAP
sudo cryptsetup close LUKS_ROOT

四、装Kali Linux

1. 进入导入Kali Linux镜像的U盘,方法同上一节的1
2. 进入Advanced Options -> Graphical Expert Install,选其它的本教程不适用
3. 设置语言地区 (Choose language):语言推荐使用英文,否则使用时可能会有不测,地区建议选中国,当然可以选别的(在使用中出现时间不对的问题在后面章有讲解)。设置中国时区方法是先other -> Asia -> China。Configure locales中建议首选en_US.UTF-8,在Additional locales中加入zh_CN.UTF-8,GBK加不加根据自己情况(不加基本没有问题),System locale建议选en_US.UTF-8。(如果语言问题导致安装错误,请自行搜索)
4.\ Configure the keyboard:中间两个盲人辅助和语音合成是针对无障碍设计,可以自行搜索设置,这里直接跳过。键盘建议American English,可以根据需求改动(部分键盘键位不同),个人感觉美国和中国键盘分布好像没有区别
5. Detect and mount intallation medium:直接continue,全自动
6. Load debconf preconfiguration file:直接continue
7. Load installer components from installation medium:要选5个crypto-dm-modulesfdisk-udebmbr-udebparted-udebrescue-mode。如果没有特殊需求,不用选多。然后continue
8. Detect network hardware:直接continue,可能要你装驱动,这里不要装(这里如果装了可能会找不到网络,但根据实现情况来确定,不行换一个选择)
9. Configure the network:continue;设置等3秒一般够了,可以加长;一般电脑会有两个以上选择无线或有线,无线是wlan0、有线是eth0(名字也许会不同),推荐使用有线,不容易出错,无线好像不支持5G,可能是不支持802.11ac,本人没有深究,但是这里不支持并不影响实际使用时的情况。一定要保证联网! Auto-configure选yes;3秒;Hostname是机器的名称(不是用户名),可以随便写,但不建议在任何的命名中包含空格、中文(中文命名可能会出严重错误);Domain域名没有就写localhost(可以填其它的,只要记得住)
10. Set up users and passwords:shadow passwords可以安全一点;用户名随意,但也不要有空格和中文,但最好不要用“user”这种;account名也随意;root密码最好复杂(否则可能被黑),但一定要记住(否则进不了系统)
11. Configure the clock:随意用不用在线时间 (NTP) ,然后是时区,只要是中国的地区都一样,想用UTC也无所谓 (只是每次看时间要做加减法)

这时候不要继续!

<Ctrl> + <Alt> + <F3> <Enter> 进文本终端
12. ls /dev看到有一个有sdx1 sdx2 sdx3 sdx4 sdx5(x为字母)的就是我们要装的移动硬盘(如果有多个5个分区的,fdisk -l /dev/sdx看一下哪个设备和刚刚一样),记住sdx,然后

cryptsetup open /dev/sdx1 LUKS_BOOT
cryptsetup open /dev/sdx4 LUKS_SWAP
cryptsetup open /dev/sdx5 LUKS_ROOT

*这里的密码是加密分区的密码(如果设了不一样的要对应)
密码错误会有提示“No key available with this passphrase.”,重执行当前指令再输遍密码
可以ls /dev/mapper看一下是不是都成功打开了,正常会有LUKS_BOOTLUKS_SWAPLUKS_ROOT这三个,还有一个control(不重要)。(如果没有前面三个且输密码时没有错误,那就不知道为什么了)

<Ctrl> + <Alt> + <F5> 回图形界面
13. Detect disks:continue
14. Partition disks: Manual;打到LUKS_BOOT下的#1 4.3GB ext4这一行,双击,双击Use as,双击Ext4那一行,Format the partition双击改yes,双击Mount point,双击/boot,双击Mount options,勾选noatime,continue,双击Done(其它三个默认就好);双击LUKS_ROOT下的那一行,Use as -> btrfs,Format: yes,Mount point -> /(根目录),Mount options->noatime,Done;LUKS_SWAP下那一个一般不用改,正常点进去就是Use as: swap area就对了,不对再改。然后Finish partitioning and write changes to disk,正常是:

Encrypted volume (LUKS_BOOT) as ext4
Encrypted volume (LUKS_ROOT) as btrfs
Encrypted volume (LUKS_SWAP) as swap

如果不对一定要回去改正,不多不少只能有这三条,注意是否对应(否则可能格式化电脑的硬盘)
确认无误后,在Write the changes to disks?下选yes

<Ctrl> + <Alt> + <F3> <Enter> 进文本终端
df指令查看移动硬盘情况/dev/mapper/LUKS_ROOT在/target,/dev/mapper/LUKS_BOOT在/target/boot,UEFI启动模式会有/target/boot/efi,但绑定的硬件不对,一定要改:

mkdir /mnt/point
mount -o subvol=/ /dev/mapper/LUKS_ROOT /mnt/point
cd /mnt/point
btrfs subvolume create @
btrfs subvolume create @home
btrfs subvolume create @root
btrfs subvolume create @snapshots
btrfs subvolume list .

找到path @的那一行,用它的ID(一般是257,重装可能是256等),替换下面的257

btrfs subvolume set-default 257 .

然后:

cd /
umount /mnt/point
umount /target/boot/efi # 只有UEFI模式有
umount /target/boot
umount /target
mount -o subvol=@ /dev/mapper/LUKS_ROOT /target
mkdir /target/boot
mkdir /target/etc
mkdir /target/media
mkdir /target/snapshots
mount /dev/mapper/LUKS_BOOT /target/boot
mount -o subvol=@rootfs /dev/mapper/LUKS_ROOT /mnt/point
cp /mnt/point/etc/fstab /target/etc/fstab

正常上述命令会有几个提示文件夹已存在,那就跳过那条命令
umount /mnt/point命令很关键,否则会改原系统的引导
然后blkid -s PARTUUID -o value /dev/sdx3出来一串,拍下来
然后nano /target/etc/fstab,改成:

PARTUUID=<刚刚拍的> /boot/efi vfat umask=0077 0 1
/dev/mapper/LUKS_ROOT /               btrfs   defaults,noatime,ssd,subvol=@          0 0
/dev/mapper/LUKS_BOOT /boot           ext4    defaults,noatime                       0 1
/dev/mapper/LUKS_ROOT /home           btrfs   defaults,noatime,ssd,subvol=@home      0 2
/dev/mapper/LUKS_ROOT /root           btrfs   defaults,noatime,ssd,subvol=@root      0 3
/dev/mapper/LUKS_ROOT /snapshots      btrfs   defaults,noatime,ssd,subvol=@snapshots 0 4
/dev/mapper/LUKS_SWAP none            swap    sw                                     0 0

只有第三行是LUKS_BOOT!
<刚刚拍的>替换成刚刚拍的一串(不留<>),要删掉原来的UUID那一行(其实就是把UUID=????-????改成PARTUUID=????????-????-????-????????),这是为了移动硬盘在新设备上时可以识别,因为PARTUUID是硬盘独有的
nano保存是<Ctrl> + o,关闭是<Ctrl> + x,保存并关闭
然后

umount /mnt/point
mkdir /target/boot/efi
mount /dev/sdx3 /target/boot/efi
mount -o subvol=@home /dev/mapper/LUKS_ROOT /target/home
mount -o subvol=@root /dev/mapper/LUKS_ROOT /target/root

最后df看一下是不是/target/boot/efi上是/dev/sdx3,如果是其它的一定不要继续,要重新umount /target/boot/efimount /dev/sdx3 /target/boot/efi,否则影响原系统引导!

<Ctrl> + <Alt> + <F5> 回图形界面

15. Install the base system:选linux-image-5.14.0-kali4-amd64;选generic initrd
16. Configure the package manager:continue
17. Select and install software:根据喜好选择。桌面我用过Xfce、KDE,Xfce比较轻量级(小)但可能不好看(可以换主题),KDE可能高分辨率屏会支持更好,个人喜欢KDE,当然也可以试试GNOME(如果想试试的可以一个个试,Kali默认是Xfce)(每次只能选一个)。包根据需求,top10和default基本都要装,large和everything(只有Everything的镜像才有)可以考虑,也可以以后装。(建议不用急着装,因为装的更多每次更新就会更多)

不要装boot loader!
18. 选Continue without boot loader否则会不成功,甚至改掉原系统引导!

<Ctrl> + <Alt> + <F3> <Enter> 进文本终端

19. 配置grub2
输入

for n in dev proc sys run etc/resolv.conf; do mount --bind /$n /target/$n; done
chroot /target
mount -a

如果出错,检查命令是否正确,如果命令正确,那么就是上文的命令中有输入错误(在本人的四次安装中出现过一次错误,重做上文中的部分命令解决,不同错误不同解决方法)。易错的地方如/dev误拼成/deb;LUKS_ROOT和LUKS_BOOT搞错;每一步mount和umount有没有报错等。
但如果实在不行,从分区和格式化(创建文件系统)再来一遍,确保每个指令都正确,如果还是同样的问题,您可以私信我,我如果看到会尝试帮助您

然后安装

apt-get install grub-common grub-efi-amd64 os-prober
apt-get install cryptsetup-initramfs

然后

echo "KEYFILE_PATTERN=/etc/luks/*.keyfile" >>/etc/cryptsetup-initramfs/conf-hook
echo "UMASK=0077" >>/etc/initramfs-tools/initramfs.conf
mkdir /etc/luks
dd if=/dev/urandom of=/etc/luks/boot_os.keyfile bs=4096 count=1
chmod u=rx,go-rwx /etc/luks
chmod u=r,go-rwx /etc/luks/boot_os.keyfile
cryptsetup luksAddKey /dev/sdx1 /etc/luks/boot_os.keyfile
cryptsetup luksAddKey /dev/sdx4 /etc/luks/boot_os.keyfile
cryptsetup luksAddKey /dev/sdx5 /etc/luks/boot_os.keyfile
echo "LUKS_BOOT UUID=$(blkid -s UUID -o value /dev/sdx1) /etc/luks/boot_os.keyfile luks,discard" >>/etc/crypttab
echo "LUKS_SWAP UUID=$(blkid -s UUID -o value /dev/sx4) /etc/luks/boot_os.keyfile luks,discard" >>/etc/crypttab
echo "LUKS_ROOT UUID=$(blkid -s UUID -o value /dev/sdx5) /etc/luks/boot_os.keyfile luks,discard" >>/etc/crypttab
/usr/sbin/update-initramfs -u -k all

由于没法复制,一定要核对命令!
/etc/cryptsetup-initramfs/conf-hook和/etc/initramfs-tools/initramfs.conf原本都有内容,所以注意是>>不是>,后者是覆盖从头写!所以不放心可以nano打开写在最后
dd指令如果没有bs和count永远不会停下(写到硬盘满)
上述命令大致意思是在/etc/luks (/dev/sdx5) 中放入一个4096位的随机数密钥,用于解密所有分区,由于/dev/sdx5是由luks加密的,所以系统是安全的,密钥也不会被轻易破解

<Ctrl> + <Alt> + <F5> 回图形界面
20. Finish the installation:如果和Windows一起用就选No,用本地时间,如果和其它Linux一起用,默认Yes就好

如果至此没有问题出现,那么系统装好了,关机,接下来要装引导。

五、装引导

教程中安装grub2引导:
1. 插上导入Ubuntu的U盘,进入Ubuntu,选Try,不要装
2. <Ctrl> + <Alt> + t 进入终端
现在可以复制了 好耶!
3. 打开加密分区并挂载

sudo -i
cryptsetup open /dev/sdb1 LUKS_BOOT
cryptsetup open /dev/sdb5 LUKS_ROOT
cd /
mkdir /target
mount /dev/mapper/LUKS_ROOT /target
mount /dev/mapper/LUKS_BOOT /target/boot
mount /dev/sdb3 /target/boot/efi
for n in dev dev/pts proc sys sys/firmware/efi/efivars run etc/resolv.conf; do mount --bind /$n /target/$n; done
chroot /target
mount -a

4. nano /etc/default/grub编辑grub
加上GRUB_ENABLE_CRYPTODISK=y保存并退出
5. 更新grub

grub-install --removable /dev/sdb
update-grub

第一条命令会提示没有错误,第二条有一个错误是正常情况,因为Ubuntu镜像没有grub

如果上述过程一切正常,关机

然后拔掉U盘,留着我们的移动硬盘,像进入USB ROM一样,这次要进入USB-HDD
输入加密分区的密码,如果错了会进入grub rescue,看后文
出来密码栏后输入用户的密码
进去之后如果能打开FireFox,且可以上网(如果没有配置网到system settings里设置,和Windows或其它Linux差不多,自己研究一下吧),说明Standalone Kali Linux已安装成功! 可喜可贺!

至此,教程正文结束,如果有问题,下文列出了本人遇到过的问题。

BIOS或UEFI不识别系统

这里分为两种情况:

第一种

操作失误导致,且基本上是装引导过程出的问题,可以上网搜索,或者重做一遍装引导,确保每步正确,如果再不行,重装可能是最快的方法,如果还是同样的问题,则可能是第二种问题。

第二种

UEFI或Lagency不认为U盘是硬盘,这只发生在用U盘装系统(不推荐的方式),还移动硬盘无论是系统支持还是速度都更好。当然,如果强行要用U盘,据说可以通过虚拟软盘引导进U盘的grub,再引导,没有测试过,具体自行搜索。
如果还了移动盘依旧不行,建议认真阅读本教程。
如果本教程有问题,或有其它未提及的问题,可以私信我,我如果看到会尝试帮助。

还原U盘

在Kali Linux下,插上导入iso的盘(两张处理方式一样),gdisk /dev/sdx(sdx是插入的那张盘,不清楚可以先ls /dev,然后插上U盘再ls /dev,多出来的那个就是),o建立新GPT表,n新建分区,一路回车,全默认,然后w写入,然后根据需要创建文件系统(格式化),如FAT32格式:mkfs.vfat -F 32 /dev/sdx1,格式化完成。这张U盘就可以恢复使用了。如果要格式化为别的格式,上网搜索mkfs.<需要的格式>

系统时间不对

如果同时用Windows和Linux基本都会有这个问题。
Linux系统时间设置的是国际标准时间,显示时间加上偏差(如中国是+8);但windows直接把系统时间设置成当地时间。
所以来回切换会出现时间早8小时晚8小时的问题。
解决方案可以网上搜索“Linux Windows 时间”,有很多解决方案可选。

Grub Rescue

一般分区密码输错会进入Grub Rescue,网上很多做法是ls,然后对出现的每个类似(hd1,gpt1)样子的分区ls,然后实测有可能不行,每个都提示类似unknown filesystem字样,所以怎么办呢?直接强制关机(长按开关机键),重启。实测次次有效且方便。当然也可以用

set root=(hdx,gpty)/boot/grub
set prefix=(hdx,gpty)/boot/grub
insmod normal
normal

(x,y代表数字,即ls不为unknown filesystem的那个分区)
一个个试真的比重启快吗……
但是如果确定密码是对的,还是进不去,那么可能grub出问题了,请看下一章

apt install出现错误

错误做法:
好不容易装上了Kali Linux,也成功运行了,于是sudo apt updatesudo apt upgrade报错,提示一个libc???-common装了2.??版,但需要1.??版(?可能代表一个字母,本人忘记具体是什么了),然后怎么重输入都没有用。(本人的第三次安装经历)于是无奈之下习惯性地sudo purge libc????-common,突然,图形界面没了,只有tty……

以上为错误做法!

一般Installer版iso或者是安装时没有选everything的用户不会碰到这种问题
这个问题经测试只会发生在用Everything版iso安装、或者sudo apt install kali-linux-everything的电脑上,在装了everything后sudo apt updatesudo apt upgrade就会出错。(如果您没有这问题就跳过)

正确做法:
参考了网上的正确做法,正确做法是sudo apt install aptitudesudo aptitude updatesudo aptitude upgrade,然后成功了!

使用过程中出错后备份并重装

使用Linux可能因为各种问题导致需要重装,那么数据如何备份?
我们还是需要另外两张U盘,只不过一张装Ubuntu镜像,另一张空着。
进入Ubunty后,Try Ubuntu,<Ctrl> + <Alt> + t 进入终端

sudo cryptsetup open /dev/sda1 LUKS_BOOT
sudo cryptsetup open /dev/sda5 LUKS_ROOT
mkdir /target
mount /dev/mapper/LUKS_ROOT /target
mount /dev/mapper/LUKS_BOOT /target/boot

解密并挂载,然后可以通过任意方式从/target里导出个人信息,一般认为个人信息会放在/home/<用户名>下,而装的应用不建议直接导出,因为系统重装应用可能不能使用,具体办法上网搜索“Linux备份”,只要解密并挂载了,后继步骤和其它系统备份没有什么区别。

注意事项

  • 本教程仅做学习交流之用,任何后果由使用本教程者自己承担
  • 本教程不推荐购买或使用任何品牌的硬件或软件
  • 本教程只是分享Kali Linux独立系统 (Standalond Kali Linux) 的安装过程,具体安装过程根据实际情况而定,不保证能安装成功
  • 请自行备份电脑和其它涉及的存储设备上的数据
  • 操作不当或其它原因可能导致电脑上的原引导及硬盘内数据受影响
  • 不保证支持所有版本的Kali Linux和硬件
  • 本教程可能存在错误
  • 本教程中没有包括的其它问题可以先上网搜索,也可以提问(可能很久才回复)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

USB移动存储设备上安装Kali Linux(独立系统 非Live 非虚拟机)Standalone Kali Linux + grub2 + luks加密 的相关文章

随机推荐