我正在尝试在 Windows 10(工作)和 Kali Linux(不工作)上实现双启动。 “安装”后(我不确定这个术语是否正确),Kali 第一次启动时出现了以下错误:
[ 7.078689] ata6.00: failed to set xfermode (err_mode=0x40)
Gave up waiting for root file system device
然后它会打印出问题最常见原因的一个小列表,并放入 initramfs shell(来自 BusyBox)。此时我陷入了 shell:我不知道我必须做什么来启动系统,也不知道是否必须再进行一次(在撰写本文时,第三次)全新安装。
为了将系统安装到驱动器(FORESEE 128GB SSD)上,我按照以下步骤创建了一个可启动 USBKali 官方文档(即使早些时候我使用 Balena Etcher 刻录 iso,所以我第一次遇到这个错误,然后我恢复了我的 USB 记忆棒和分区并从头开始重新启动)并安装了操作系统。另一方面,Kali live 效果很好。
眼镜
我的电脑是 Medion Akoya p62006(网站:西班牙语;英国人),所以它的大部分部分都是OEM(并且有某种定制引导)。 “BIOS”看起来像一个BIOS(像灰蓝色的旧式BIOS),但它声称是UEFI,而且似乎我没有引导加载程序(在BIOS中我可以看到一个不管理任何东西的“Windows启动管理器”,因此,当 Kali(显然不工作)与 Windows 一起时,PC 自动启动到 Windows,我必须按 F8 才能进入 kali GRUB 引导加载程序,我认为 Windows 可能根本没有将其检测为操作系统。它不起作用,但我不确定)。无论如何,如果我在 Windows“msinfo32”上运行,它会说 BIOS 模式是 UEFI。
我用谷歌搜索了这个问题并得出了以下原因:
- 启动时间慢:不可能(因为我有SSD,所以启动Windows只需要12秒......)
- 内核错误:又不可能了(kali 2019.2的内核是最新的,是4.19什么的)
- 固态硬盘不兼容: 我希望不是这样,因为我不知道该怎么办......
有人知道 xfermode 是什么吗?我应该尝试什么?
提前致谢
更新1
我尝试启动到 kali 恢复模式(没有成功),并且在同一个 initramfs shell 中再次提示我,但这次我注意到了一些以前我忽略的东西:
ALERT! /dev/sdd6 does not exist. Dropping to a shell!
然后,我运行以下命令来列出磁盘上的分区(在 shell 中,我必须使用很少的命令......我必须搜索才能找到一些命令):
blkid -c /dev/null
我大致了解了分区,并且能够识别出 ext4 分区是 /dev/sdc6 和交换分区 /dev/sdc7。
但有一个问题,我清楚地记得,当我用 USB 安装程序安装 Kali 时,它在写入磁盘之前向我显示了分区,带有 ext4 的分区是 /dev/sdd6,而交换分区是 /dev/sdd7。
这可能是一种名称冲突吗?也许系统会检查 /dev/sdd6 中的启动文件,但它应该检查 /dev/sdc6 吗?
我还尝试使用“mount”等命令来挂载 /dev/sdc6 并从那里启动,但我不能这样做(这是我第一次使用 mount...)。如果我让它工作,我还想找到一种方法在启动时自动执行该过程,或者更好的是告诉系统使用正确的分区启动。
更新2
这次我想我得到了一些结果。
我做的第一件事是从 initramfs shell 和 USB 上的 Kali Live 中获取磁盘概览,然后进行比较。
这是我运行的命令的列表在卡利现场:
- 列出分区(有人要求我使用diskpart,但我不喜欢它,我更喜欢gparted和以下命令)
blkid -c /dev/null
/dev/sda1: PARTLABEL="Microsoft reserved partition" PARTUUID="772f7759-ff14-4474-b280-e9a73f27c337"
/dev/sda2: LABEL="HDD" UUID="38A4B57FA4B53FE4" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="72fe8b03-5b4d-4912-a306-7f07c95d134a"
/dev/sdb1: UUID="2019-05-08-08-05-42-00" LABEL="Kali Live" TYPE="iso9660" PARTUUID="825c29ed-01"
/dev/sdb2: SEC_TYPE="msdos" UUID="6D28-4B56" TYPE="vfat" PARTUUID="825c29ed-02"
/dev/sdd1: LABEL="Ripristino" UUID="4240332640331FD9" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="e9017011-2970-430d-bbde-0373203511e8"
/dev/sdd2: UUID="7034-ABBE" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="edfd5c11-f9a0-4116-9341-c8cca78fd5be"
/dev/sdd3: PARTLABEL="Microsoft reserved partition" PARTUUID="f07bf20f-e015-4f4e-9e39-5d6c15f3eed9"
/dev/sdd4: LABEL="SSD" UUID="D01C380D1C37ECDA" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="868d10ab-7d59-4612-b5b7-09989f1b1a39"
/dev/sdd5: UUID="8CB63D4BB63D3754" TYPE="ntfs" PARTUUID="25fffadb-a834-40eb-8203-f5bf70e7a4e9"
/dev/sdd6: UUID="77b94261-8059-4070-bdd0-18253825ff78" TYPE="ext4" PARTUUID="85826a53-e4b6-496f-8ae9-293e5e5e9fa0"
/dev/sdd7: UUID="aafe6242-cc02-4722-a136-b87b1bbaa6d6" TYPE="swap" PARTUUID="e79b7378-371f-42fd-96ca-7c109d7362ea"
/dev/loop0: TYPE="squashfs"
重要的:sda 是我的硬盘,sdb 是我的 USB,sdd 是我的 HDD(Windows 10 和某种 Kali Linux 所在的位置)
- 列出文件系统、分区和其他信息
df -aT
Filesystem Type 1K-blocks Used Available Use% Mounted on
sysfs sysfs 0 0 0 - /sys
proc proc 0 0 0 - /proc
udev devtmpfs 8125976 0 8125976 0% /dev
devpts devpts 0 0 0 - /dev/pts
tmpfs tmpfs 1630796 9968 1620828 1% /run
/dev/sdb1 iso9660 3273568 3273568 0 100% /run/live/medium
/dev/loop0 squashfs 2999296 2999296 0 100% /run/live/rootfs/filesystem.squashfs
tmpfs tmpfs 8153972 231344 7922628 3% /run/live/overlay
overlay overlay 8153972 231344 7922628 3% /
tmpfs tmpfs 1630796 9968 1620828 1% /usr/lib/live/mount
/dev/sdb1 iso9660 3273568 3273568 0 100% /usr/lib/live/mount/medium
/dev/loop0 squashfs 2999296 2999296 0 100% /usr/lib/live/mount/rootfs/filesystem.squashfs
tmpfs tmpfs 8153972 231344 7922628 3% /usr/lib/live/mount/overlay
securityfs securityfs 0 0 0 - /sys/kernel/security
tmpfs tmpfs 8153972 16648 8137324 1% /dev/shm
tmpfs tmpfs 5120 0 5120 0% /run/lock
tmpfs tmpfs 8153972 0 8153972 0% /sys/fs/cgroup
cgroup2 cgroup2 0 0 0 - /sys/fs/cgroup/unified
cgroup cgroup 0 0 0 - /sys/fs/cgroup/systemd
pstore pstore 0 0 0 - /sys/fs/pstore
efivarfs efivarfs 0 0 0 - /sys/firmware/efi/efivars
bpf bpf 0 0 0 - /sys/fs/bpf
cgroup cgroup 0 0 0 - /sys/fs/cgroup/cpu,cpuacct
cgroup cgroup 0 0 0 - /sys/fs/cgroup/freezer
cgroup cgroup 0 0 0 - /sys/fs/cgroup/net_cls,net_prio
cgroup cgroup 0 0 0 - /sys/fs/cgroup/rdma
cgroup cgroup 0 0 0 - /sys/fs/cgroup/memory
cgroup cgroup 0 0 0 - /sys/fs/cgroup/perf_event
cgroup cgroup 0 0 0 - /sys/fs/cgroup/blkio
cgroup cgroup 0 0 0 - /sys/fs/cgroup/devices
cgroup cgroup 0 0 0 - /sys/fs/cgroup/cpuset
cgroup cgroup 0 0 0 - /sys/fs/cgroup/pids
debugfs debugfs 0 0 0 - /sys/kernel/debug
hugetlbfs hugetlbfs 0 0 0 - /dev/hugepages
mqueue mqueue 0 0 0 - /dev/mqueue
systemd-1 - - - - - /proc/sys/fs/binfmt_misc
tmpfs tmpfs 8153972 0 8153972 0% /tmp
binfmt_misc binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misc
tmpfs tmpfs 1630792 44 1630748 1% /run/user/0
gvfsd-fuse fuse.gvfsd-fuse 0 0 0 - /run/user/0/gvfs
fusectl fusectl 0 0 0 - /sys/fs/fuse/connections
/dev/sdb2 vfat 716 688 28 97% /media/root/Kali Live
重要的:请记住,这是从 Kali Live 运行的,所以我认为除了以“/dev”开头的所有内容之外,没有其他重要的东西,但我可能是错的。
- 列出已安装的设备和其他信息
mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=8125976k,nr_inodes=2031494,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=1630796k,mode=755)
/dev/sdb1 on /run/live/medium type iso9660 (ro,noatime,nojoliet,check=s,map=n,blocksize=2048)
/dev/loop0 on /run/live/rootfs/filesystem.squashfs type squashfs (ro,noatime)
tmpfs on /run/live/overlay type tmpfs (rw,noatime,mode=755)
overlay on / type overlay (rw,noatime,lowerdir=/run/live/rootfs/filesystem.squashfs/,upperdir=/run/live/overlay/rw,workdir=/run/live/overlay/work)
tmpfs on /usr/lib/live/mount type tmpfs (rw,nosuid,noexec,relatime,size=1630796k,mode=755)
/dev/sdb1 on /usr/lib/live/mount/medium type iso9660 (ro,noatime,nojoliet,check=s,map=n,blocksize=2048)
/dev/loop0 on /usr/lib/live/mount/rootfs/filesystem.squashfs type squashfs (ro,noatime)
tmpfs on /usr/lib/live/mount/overlay type tmpfs (rw,noatime,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup2 on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)
bpf on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/rdma type cgroup (rw,nosuid,nodev,noexec,relatime,rdma)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)
mqueue on /dev/mqueue type mqueue (rw,relatime)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=44,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=13614)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,relatime)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=1630792k,mode=700)
gvfsd-fuse on /run/user/0/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
/dev/sdb2 on /media/root/Kali Live type vfat (rw,nosuid,nodev,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)
- 将 /etc/fstab 的内容打印到标准输出(我读到该文件包含每次启动后安装它们所需的所有设备分区信息)
cat /etc/fstab
/etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sdd6 during installation
UUID=77b94261-8059-4070-bdd0-18253825ff78 / ext4 errors=remount-ro 0 1
# /boot/efi was on /dev/sdd2 during installation
UUID=7034-ABBE /boot/efi vfat umask=0077 0 1
# swap was on /dev/sdd7 during installation
UUID=aafe6242-cc02-4722-a136-b87b1bbaa6d6 none swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0
评论:正如我已经说过的,我也在 initramfs shell 中运行这些命令,但我无法在其中复制和粘贴,所以直到现在我都手动复制我在那个终端中看到的内容。然而,当我编写此更新时,我意识到我可以将命令的输出重定向到我的硬盘(一旦我安装它,现在我知道了……);问题是我的键盘很糟糕,没有“>”、“<”键,所以我无法将输出重定向到文件(编码也很难,我通常在需要时从互联网上复制和粘贴符号,但对于 initramfs 不是这种情况,现在我必须找到另一个键盘或至少获得“>”符号的方法)。我想我明天会添加输出。最终我知道了命令“tee”并用它来代替“>”,现在我可以将我复制的内容粘贴到文件中。
这是我运行的命令的列表在 initramfs shell 中:
- 列出分区
blkid -c /dev/null
/dev/sda1: PARTLABEL="Microsoft reserved partition" PARTUUID="772f7759-ff14-4474-b280-e9a73f27c337"
/dev/sda2: LABEL="HDD" UUID="38A4B57FA4B53FE4" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="72fe8b03-5b4d-4912-a306-7f07c95d134a"
/dev/sdc1: LABEL="Ripristino" UUID="4240332640331FD9" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="e9017011-2970-430d-bbde-0373203511e8"
/dev/sdc2: UUID="7034-ABBE" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="edfd5c11-f9a0-4116-9341-c8cca78fd5be"
/dev/sdc3: PARTLABEL="Microsoft reserved partition" PARTUUID="f07bf20f-e015-4f4e-9e39-5d6c15f3eed9"
/dev/sdc4: LABEL="SSD" UUID="D01C380D1C37ECDA" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="868d10ab-7d59-4612-b5b7-09989f1b1a39"
/dev/sdc5: UUID="8CB63D4BB63D3754" TYPE="ntfs" PARTUUID="25fffadb-a834-40eb-8203-f5bf70e7a4e9"
/dev/sdc6: UUID="77b94261-8059-4070-bdd0-18253825ff78" TYPE="ext4" PARTUUID="85826a53-e4b6-496f-8ae9-293e5e5e9fa0"
/dev/sdc7: UUID="aafe6242-cc02-4722-a136-b87b1bbaa6d6" TYPE="swap" PARTUUID="e79b7378-371f-42fd-96ca-7c109d7362ea"
- 将 /etc/fstab 的内容打印到 stdout:在这种情况下没有输出,文件是空的,所以我认为 initramfs 没有使用它。特别是我认为它依赖于 /proc/partitions 以及 /dev/disk 内部的内容。
接下来,我运行“set”来查看设置了哪些变量,并尝试更改 /dev/sdd6(Kali 列出的那个)中的 ROOT 变量(设置如下:“ROOT='/dev/sdd6'”) Live)到 /dev/sdc6 (Kali 在 SDD 上列出的那个)。
我运行“set ROOT='/dev/sdc6'”,它没有返回任何错误,但什么也没做,然后我尝试“set ROOT='/dev/sdd5'”(可以肯定)并且变量发生了变化!所以我意识到该命令有效,但由于某些原因“/dev/sdc6”不好(尽管“blkid -c /dev/null”可以说相反)。
然后,我已经能够使用“mount -t ext4 /dev/sdd6 /mnt”挂载我的/dev/sdd6(没有/mnt,所以我使用“mkdir /mnt”来创建它),我终于看到了我所爱的Kali Linux 文件系统!为了检查它是否真的是 Kali,我使用了(在 /mnt 中)“find -executable -type f -name maltego”(确实如此,我还检查了一些其他 Kali 工具)。过了一会儿,我尝试将 /dev/sdd6 安装在“/”中,但即使命令成功(没有错误)也没有任何改变。此时,我的目的是启动 GNOME Kali 桌面,然后找到一种方法使其永久化。我最终发现“gnome-session”命令不起作用,它返回了一个关于“绝对”路径中缺少文件的错误(它打印出“第 16 行:/usr/something/gnome-something_else 丢失”,但是它应该寻找“./usr/something/gnome-something_else”,因为文件系统的根位于 /mnt 而不是 /;这就是我的想法,明天我将添加确切的错误)。
接下来我要做的是以下两件事之一:
找到一些方法在 / 中挂载 /dev/sdd6 并运行 GNOME
使用 tty 创建一个新会话并希望我可以在该 / 中挂载 /dev/sdd6 并运行 GNOME
我的理论
Kali Live 声称 /dev/sdd6 存在,Kali SDD Percient 则认为不存在,但同时,当某些命令不能很好地工作时,它会自相矛盾(请参阅上面的 set 命令)。就我个人而言,我信任 Kali Live 终端(和 gparted),这就是为什么我认为我正在处理内核错误(也许),并且需要解决方法或对一些非常深入的内容进行修改。
initramfs 之谜
我以前从未使用过这个 shell,我有一些疑问。
我问自己的第一件事是它怎么可能出现?我的意思是,每次我尝试启动到 Kali 时,它声明没有 /dev/sdd6,因此没有 ext4 分区,因此没有 Kali,没有 Linux,但无论如何,这个东西每次都会出现(在系统等待一段时间启动之后)。我问我这个终端在哪里运行(哪个分区)或者它存储在哪里。我使用了df -h .
(在“/”中) 和df -h /
,它返回了df: /: can't find mount point
。
然后我注意到它有自己的文件系统!或者非常类似的东西,如果你“ls /”你会得到普通 Linux 拥有的所有目录(bin,sbin 等,usr,...),它没有,/mnt
并且缺少其他一些目录。它还有一个 Kali 没有的“init”文件夹,顺便说一句,它有“initrd.img”和“initrd.ing.old”,我想这是一种每次启动时都会加载的 img(Windows 有时有一个dir 名为“Windows.old”,适用于旧的 Windows 操作系统),我很感兴趣,因为我尝试运行busybox switch_root
.
同样重要的是与它们相关的驱动器和命令之间的冲突(比较上面set
的blkid
和/proc/partitions
响应)。
我读到有人遇到与我类似的问题,只需在 initamfs 中使用几个命令然后重新启动即可解决它们,我尝试了很多次(例如:set、switch_root、start[number]、gnome-session 等),但是在我的initramfs 你不能创建任何永久的东西:比如文件夹和文件(但目前这不是问题,我只想启动一次......),但如果你可以设置一个变量,它export
只是当前会话,下次变量是相同的。
笔记 为什么我不能使用“添加评论”?
更新3
我进入了卡利根
经过大量的时间和努力,我能够将 shell 的根目录更改为新的文件系统根目录(SSD 上的 Kali),因此我离开了 initramfs(但是,我认为“不完全”)。我跑(很多次):
mkdir /mnt
mount -t ext4 /dev/sdc6 /mnt #As you can see I had to use the "wrong" notation with "sdc6" in place of "sdd6"
chroot /mnt #Surprisingly for me, it worked! Although I wanted to run busybox switch_root, but it returns error and prints the command syntax every time
然后我尝试运行gnome-session
、 startx (x 是一个数字)和其他命令来获取 GUI,但没有成功。特别是,我似乎没有任何 startx 命令(我运行find -executable -type f -name *start*
但没有任何有用的结果)。
该gnome-session
命令以这种格式显示了许多错误(我无法复制它们,但我有照片):
** (gnome-session-failed:[some number]): WARNING **: [num1]:[num2]:[num3]:[num4]: Cannot open display:
[Some Error: Terminated, Unable to init sever, etc...]
还有这样的事情:
[num1]:[num2]:[num3]:[num4] Gtk: cannot open display! (the first part was green, the second red)
(tracker-miner-fs:[num4]): GLib-GObject-CRITICAL **: [num1]:[num2]:[num3]:[num4]: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
在 initramfs 中,我检索了一些其他信息:
cat /proc/partitions
major minor #blocks name
8 0 976762584 sda
8 1 16367 sda1
8 2 976744448 sda2
8 32 125034840 sdc
8 33 307200 sdc1
8 34 101376 sdc2
8 35 131072 sdc3
8 36 99019776 sdc4
8 37 896000 sdc5
8 38 21680128 sdc6
8 39 2896896 sdc7
11 0 1048575 sr0
我将它与 Kali Live 进行了比较(差异很容易看出):
cat /proc/partitions
major minor #blocks name
8 0 976762584 sda
8 1 16367 sda1
8 2 976744448 sda2
8 32 125034840 sdd
8 33 307200 sdd1
8 34 101376 sdd2
8 35 131072 sdd3
8 36 99019776 sdd4
8 37 896000 sdd5
8 38 21680128 sdd6
8 39 2896896 sdd7
11 0 1048575 sr0
我还将它复制到/proc/partitions
SSD 上的 Kali 中(我认为 gnome-session 错过了启动分区位置并且输出以某种方式发生了变化)
然后我运行这个:
ls /dev/disk/by-path
pci-0000:00:14.0-usb-0:4:1.0-scsi-0:0:0:0
pci-0000:00:14.0-usb-0:4:1.0-scsi-0:0:0:0-part1
pci-0000:00:14.0-usb-0:4:1.0-scsi-0:0:0:0-part2
pci-0000:00:14.0-usb-0:8:1.0-scsi-0:0:0:0
pci-0000:00:17.0-ata-1
pci-0000:00:17.0-ata-1-part1
pci-0000:00:17.0-ata-1-part2
pci-0000:00:17.0-ata-2
pci-0000:00:17.0-ata-6
pci-0000:00:17.0-ata-6-part1
pci-0000:00:17.0-ata-6-part2
pci-0000:00:17.0-ata-6-part3
pci-0000:00:17.0-ata-6-part4
pci-0000:00:17.0-ata-6-part5
pci-0000:00:17.0-ata-6-part6
pci-0000:00:17.0-ata-6-part7
我很绝望,尝试用 pci-0000:00:17.0-ata-6 切换 pci-0000:00:17.0-ata-6-part6 并成功重命名它们,但它没有用,因为我的initramfs 启动后不会保留数据。
接下来做什么
我读除了 Fedora Media Writer 之外的所有程序都无法在 UEFI 模式下为 BIOS 创建可启动 USB,所以我可以尝试这个(无论如何我不认为这是问题)
我想使用 Kali 桌面,这次我可以访问 Kali 文件系统和命令,所以我只需要一些线索来实际让 GNOME 工作
我几乎可以肯定内核有问题,所以有人可以告诉我如何更新它或者如何确保它在启动时检测到 /dev/sdd6 吗?
更新4
卡利启动了! (但不太好..)
我将 Kali SSD 的 /boot 中的 initrd.img-[etc..] 替换为 Kali Live 中的 Peripheral,在我的 BIOS 中,我像往常一样按 F8 启动 Kali,这次它工作了,所以我认为问题是已修复(呵呵!)。它打印了
[ 7.078689] ata6.00: failed to set xfermode (err_mode=0x40)
然后屏幕变黑,然后 kali 出现(我知道通常 Kali 显示更多文本,所以我有点困惑,但无论如何都工作了......)
我更改了启动顺序,使 Kali 第一个启动,然后重新启动。这次我很有信心,但又说:
[ 7.078689] ata6.00: failed to set xfermode (err_mode=0x40)
Gave up waiting for root file system device
所以我意识到只有在启动时按 F8 才可以工作(这是为什么?)。这是一种解决方案,但并不令人满意。此外,我并不是 100% 每次使用 F8 启动时它都能工作。
我什至尝试过binwalk GenuineIntel.bin
(提取 initrd.img-[etc..] 后),但没有输出。我编辑了init
initramfs 的 / 中的一行文件,该行是
export ROOT=
我把它改为
export ROOT=/dev/sdc6
因为即使我认为这是错误的名称,我也必须使用它在 initramfs 中挂载该分区,所以我认为 initramfs 只识别该名称,而不是 /dev/sdd6。
然后我重新安装了 Kali(这是第三次),用 Fedora Media Writer 刷新我的 USB,我回到了初始状态(出现了引发问题的错误)。
答案1
如果有人需要它:我几年前就已经解决了这个问题,解决方案很简单。我使用 Rufus 使 USB 可启动,并且使用 Rufus 你可以在两种模式下做到这一点:ISO 模式和 DD 模式。 ISO模式是“推荐”模式,通过选择DD模式,我安装了Kali就好了