更新,2021 年 8 月:我已成功安装了 Arch Linux 和 Manjaro Linux,没有任何问题。结合下面 nyov 的回答,这可能只是因为内核尚不支持该硬件,尽管 Canonical 的自定义内核比其他内核更早支持它。
需要澄清的是,我过去曾在笔记本电脑上安装过 Linux,并且在 VirtualBox 中使用 Linux 发行版的经验丰富,但我以前从未见过这种情况。(小编辑:我还成功地将 Ubuntu 安装为我的操作系统,而不是 Windows 10,没有任何问题或怪异之处。不过,我保存了 Windows 10 产品密钥,以备日后需要。出于某种原因,Ubuntu 是唯一有效的发行版。)
当我启动我的实时 USB 时,我希望看到的是 Parrot OS 特定版本的安装程序页面。它应该有图像和文本,看起来很漂亮。这是我在健康启动时期望看到的。
- 当我启动 Parrot OS live USB 时我希望看到的内容:
但相反,我看到的却是一个非常老旧的 Grub 屏幕,它有正确的菜单文本,但没有我期望看到的所有内容。(我意识到这些图像和内容并不重要,但这是我认为可能出了问题的主要原因)。
- 带有文本的纯蓝屏菜单:
然后我live
从菜单中选择启动 Parrot 的实时版本,然后我看到此错误:NVME0:SUBNQN 字段缺失或无效。我还附上了一张启动消息的照片,以防这不是我应该查看的关键消息。
- NVME0:缺失或无效的 SUBNQN 字段:
此后,安装基本上就冻结了。有时我可以在纯蓝屏底部的小白条中输入文本,但仅此而已。
此外,如果我单击后不理会它live
,我将获得一个名为 BusyBox v1.30.1 (Debian 1:1 30.1-4) 内置 shell (ash) 的 cmd,其提示符名为 (initramfs)。当我键入help
以获取可用命令时,将显示以下内容:
. : [ [[ alias bg break cd chdir command continue echo eval exec
exit export false fg getopts hash help history jobs kill let
local printf pwd read readonly return set shift source test times
trap true type ulimit umask unalias unset wait
(initramfs)_
我刚刚还注意到 BusyBox 中弹出的另一个东西。
BOOT FAILED!
This Live System image failed to boot.
Please file a bug against the 'live-boot' package or email the Live Systems mailing list at <[email protected]>, making sure to note the exact version, name and distribution of the image you were attempting to boot.
The file /boot.log contains some debugging information but booting with the debug command-line parameter will greatly increase its verbosity which is extremely useful when diagnosing issues.
live-boot will now start a shell. The error message was:
Unable to find a medium containing a live file system
之后,前面提到的 BusyBox shell 启动了。我不明白为什么找不到实时映像,因为尝试过实时启动 ISO。
我使用了 dd 操作,这次得到了不同的错误。它与评论中提到的 ACPI 问题有关。这是一张图片。
任何帮助都将不胜感激,我真的希望 Parrot 能够在我的笔记本电脑上运行。
谢谢你!
更新:我没有回去更新 BIOS。我发现各种版本的 Ubuntu 都可以在我的硬件上运行,而且为了防止出现任何错误,我对此感到满意。但有趣的是,就我测试过的发行版而言,Ubuntu 是唯一可以在我的硬件上运行的发行版。我认为这与 Ubuntu 内核与基本 Debian 不同有关,因为 Debian 本身也会出现上述错误。我尝试过的发行版有:Debian、Arch、Parrot、Ubuntu。我想我也尝试过其他几个,但时间太久了,我记不清了。
答案1
您可以尝试将 acpi=strict 选项添加到内核命令行。
Debian wiki 中描述了这个问题安装DebianOn
答案2
添加的照片显示了 ACPI BIOS 错误消息。交流电源接口是操作系统用于与硬件配合使用的基本例程和 API:设备检测和配置、电源管理。
如果出现错误,东西不起作用。
获取 BIOS 更新(希望包含修复的 ACPI 表)是最好的第一步。
然后,Linux 可以解决很多这样的错误,甚至安装全新的桌子。这意味着是否有解决方法取决于您的 Linux 内核版本(这可能是您的 Ubuntu 发行版可以工作,但 Parrot 似乎不行的原因)。尝试最新的内核是很好的第二步。
正如前面的链接所解释的,ACPI 表可以通过 initrd 升级,这也意味着不同的发行版可以发布自己的和不同的错误修复而且 Ubuntu 拥有非常广泛的硬件用户群,因此可能拥有最多样化的解决方法。
按照努力的顺序,你可以尝试
- 只需使用 Ubuntu
- 使用 Ubuntu 内核运行 Parrot ;)(Parrot 是一个Debian 衍生产品)
- 在 Ubuntu 中找到特定的解决方法并将它们移植到您的 Parrot 内核/initrd(或请 parrot 维护人员帮助您)。早期链接上的 acpi 调试工具将对此有所帮助。
就我个人而言,我会考虑使用 Ubuntu,因为它显然可以在硬件上运行。Parrot/Kali/... 可以带给您的所有相同工具很可能都是来自 Debian 基础的软件包,也可以从 Ubuntu 存储库安装。只要付出足够的努力,您甚至可以让您的 Ubuntu 看起来像 Parrot,甚至更好,看起来和工作起来最适合你。
(我当然从来没有因为另一个发行版有我想要的软件而放弃 Debian,而且我认为很多人安装这些发行版更多是为了炫耀,而不是实际需要。)
答案3
自从我发布这个问题已经过去了 2 年,从那时起我不仅能够安装各种版本的 Ubuntu,还可以安装 Arch 和 Manjaro。尼奥夫有人认为,这可能只是因为在发布时,Linux 内核不支持该硬件,因为笔记本电脑是一台全新的机器。Canonical 是个例外,因为他们的内核可能更早地支持了新硬件。由于我不再遇到该硬件的任何问题,而且我自己也没有做任何修复,所以我只能得出这样的结论并关闭该帖子。