cod*_*edd 4 boot uefi msi 16.04 16.10
我基本上需要帮助弄清楚如何让 Ubuntu 16.10 AMD64(Linux 4.8.0-22 通用内核)成功启动系统,以便我可以回去实际使用它。引导至 16.04 LTS 也是一种可接受的解决方案。
您将在下面找到包含有关系统的其他信息、我尝试过的方法以及获得的结果的部分。在此先感谢您提供的任何帮助。详细信息:O!
我在今年 7 月购买了这台 MSI 笔记本电脑,经过大量故障排除后,我能够在其上安装 Ubuntu 16.04 LTS AMD64 并在过去几个月中毫无问题地使用它。(我将它作为双引导系统使用,另一侧是 Windows 10。)
几天前我从 16.04 -> 16.10 更新,但我无法再启动笔记本电脑了。更糟糕的是,我什至无法让它启动与我最初从实时 USB 驱动器相同的 16.04 LTS。(Windows仍然靴子,虽然。)的解决方案,我已经实现了第一个时间(见下文)不做出改变,这一次,我不知道为什么这突然的情况。
请注意,升级过程似乎正常完成。对于以前的 Ubuntu 版本(例如 14.04),我在这里解决了几个类似的问题,但它们没有用或不适用于我的情况。我已经在这上面花了好几天了...
这取决于我选择的引导选项,但这里是尝试引导当前升级的 16.10 安装(包括引导命令)的概要:
基本命令是linux /vmlinuz-4.8.0-22-generic root=UUID... ro_quiet splash $vt_handoff,因此我将仅列出选项之间的差异以提高可读性。
acpi_osi="Linux" pci=nomsi参数。
ro recovery nomodeset内核参数
[OK] Started Light Display Manager.(即lightdm服务)acpi_osi="Linux" pci=nomsi手动添加
我在选项 3 和 4 中看到的唯一错误是:
[FAILED] Failed to start NVIDIA Persistence Daemon.
See 'systemctl status nvidia-percistenced.service' for details
Run Code Online (Sandbox Code Playgroud)
引导过程不会因此故障而挂起。引导过程一直持续到 LightDM 服务启动之后,但在您实际看到欢迎程序之前。
另外,我会尝试该systemctl命令,但是:
nvidia-367在之前的恢复尝试 ( apt-get purge nvidia\*) 中清除了驱动程序/包,以支持官方页面上的更新版本。在任何情况下,即使驱动程序是问题(例如,无法作为 LKM 加载),我(至多)希望欢迎程序和图形 UI不会出现,在这种情况下,我将拥有终端登录并解决它。但是,我不能走那么远。
由于我之前已经看到(并解决了)其中的一些错误,因此我花了最近几天的时间尝试完成这些步骤并在此处发布之前解决问题。不幸的是,以前对类似问题有效的方法(AFAIK)无济于事。
当我在 7 月份进行故障排除时,这些是我所做的事情,它们帮助我解决了我遇到的启动和登录问题:
acpi_osi="Linux"内核参数以解决 ACPI 表错误
pci=nomsi 内核参数添加到此笔记本电脑的解决方法问题
这次我为 16.10 重新安装尝试了这些东西,但我没有看到相同的结果。神秘的是,我什至无法让 16.04 在 7 月份工作,现在的行为方式与当时相同。我对此没有任何解释。
我也曾pci=off在以前的 HP 笔记本电脑上使用过来解决启动问题,但在 MSI 上进行尝试却无济于事。
现在,尝试从实时 USB 启动 16.04 LTS 或 16.10,使用默认选项¹,在控制台中挂起以下消息:
...
lvm2-monitor.service
tmp.mount
systemd-tmpfiles-setup.service
resolvconf.service
[ kernel-time] nouveau 0000:01:00.0: pci: failed to adjust lnkctl speed
[ kernel-time] iwlwifi 0000:02:00.0: Unsuported splx structure
[ kernel-time] NMI watchdog: BUG: soft lockup - CPU#4 stuck for 22s! [plymouthd:314]
[ kernel-time] NMI watchdog: BUG: soft lockup - CPU#4 stuck for 23s! [plymouthd:314]
[ kernel-time] ...<same message>...
[ kernel-time] INFO: task systemd:1 blocked for more than 120 seconds.
[ kernel-time] Tainted: G L 4.8.0-22-generic #24-Ubuntu
...
[ kernel-time] INFO: rcu_sched self-detected stall on CPU
[ kernel-time] NMI watchdog: ...<same message>...
Run Code Online (Sandbox Code Playgroud)
添加acpi_osi="Linux" pci=nomsi到 live USB 命令会产生略有不同的输出,添加的错误行约为pci_enable_msi failed - -22
...
lvm2-monitor.service
tmp.mount
systemd-tmpfiles-setup.service
systemd-update-utmp.service
[ kernel-time] nouveau 0000:01:00.0: pci: failed to adjust lnkctl speed
[ kernel-time] pci_enable_msi failed - -22
[ kernel-time] iwlwifi 0000:02:00.0: Unsuported splx structure
[ kernel-time] NMI watchdog: BUG: soft lockup - CPU#4 stuck for 23s! [plymouthd:314]
[ kernel-time] INFO: rcu_sched self-detected stall on CPU
Run Code Online (Sandbox Code Playgroud)
我之前(在 HP 笔记本电脑中)看到过软锁定消息,我总是可以将它们追溯到BIOS中禁用的 VT-d 和 CPU 虚拟化选项,启用它们可以快速解决该问题。虽然我不记得我是否在 7 月份有这些 CPU 停顿,但如果我有,那么我会以同样的方式解决它们。(如果您无论如何都想运行虚拟机,您仍然需要虚拟化 - 例如虚拟机。)
我读了工地附近其他的答案,其中一些建议禁用CPU C状态,但是这并没有任何为我工作。
以下是之前相关的设置、每个选项卡及其当前值,这些设置在 16.04 -> 16.10 升级之前有效。请注意,我已经在某些选项(例如禁用超线程、c 状态等)中尝试了不同的启用/禁用组合,但没有成功。
linux /casper/vmlinuz.efi file=/cdrom/preseed/ubuntu.seed boot=casper only-ubiquity quiet splash ---我在发布问题后不久就解决了这个问题,尽管我想在尝试发布我的答案之前确定一下。请注意,除了我在 OP 中已经指定的内容之外,不需要对 BIOS/UEFI 设置进行其他修改。
该过程基本上如下:
nomodeset acpi_osi=允许引导继续
acpi_osi="Linux"没用;它必须是空的,如上所示¹pci=nomsi acpi_osi="Linux"我不知道为什么nomodeset³必要让系统开机的第一,但不是真的有必要在事后,这可能是为什么我忘了,我大概已经做到了这一点早在7月,当时我troubleshooted我原来的16.04 LTS安装。无论如何,我希望这可以帮助其他可能遇到类似问题的人。
目前,您每次都必须编辑引导命令,这很快就会过时。要永久更新引导命令,请执行以下步骤:
/etc/default/grub编辑,如root
sudo vim /etc/default/grub 从终端vim为您最喜欢的编辑器(例如nano)GRUB_CMDLINE_LINUX=""GRUB_CMDLINE_LINUX="pci=nomsi acpi_osi=\"Linux\""sudo update-grub2命令以生成更新的/boot/grub/grub.cfg文件
/boot/grub/grub.cfg直接编辑如果您对这个pci=nomsi论点感到疑惑,这可以防止内核/var/log/syslog用大量虚假消息填满您的驱动器(即)。这似乎是 MSI 笔记本电脑特有的,因为我的台式机和以前的 HP 笔记本电脑不需要这种解决方法。
acpi_osi=回acpi_osi="Linux",并且您已经安装了nvidia驱动程序包,则登录尝试将失败,您将看到重新显示欢迎语。您可以识别这一点,因为你的密码是正确的(即约密码不符的错误消息),如果你Ctrl+ Alt+F1到终端,就可以顺利从那里登录。/home目录位于其自己的分区中(恕我直言),那么您只需确保将该分区标记为使用相同的文件系统(例如 ext4)和挂载点(即/home),但不要对其进行格式化。我还在安装过程中重新输入了相同的帐户凭据。请注意,旧帐户仍将在您的/home目录中,但如果您使用设置 >> 用户,则可能不会显示,因为它从/etc/passwd. 您可能需要sudo adduser ...让它们正确显示。nomodeset?| 归档时间: |
|
| 查看次数: |
17772 次 |
| 最近记录: |