为什么使用 LiveCD/LiveUSB 和安装 Ubuntu 之间会发生变化?

为什么使用 LiveCD/LiveUSB 和安装 Ubuntu 之间会发生变化?

以下是我使用 Ubuntu LiveCD 或 LiveUSB 时遇到的一些奇怪经历:

1) 我有一台原装的 Chromebook(CR-48)。我最终删除了 ChromeOS,只安装了刚发布的 Ubuntu 12.04.0。它运行得非常好。大约一年后,我弄坏了一些东西,然后使用 LiveUSB 上的 12.04.3 重新安装了 Ubuntu。LiveUSB 运行完美 - 屏幕分辨率、wifi、触控板都运行良好。我安装了它(一次安装更新,一次从 USB 驱动器中取出),两次屏幕分辨率、wifi 和触控板都坏了。

我最终下载了 12.04.0 并安装了它,然后升级到 12.04.3,一切再次完美运行。

2) 我买了一台东芝 Portege z935,LiveUSB 运行正常,也就是 wifi。安装后,wifi 速度极慢,基本上无法加载任何页面。答案是蓝牙与 wifi 有某种冲突,必须禁用蓝牙才能使用 wifi。然而,在 LiveUSB 版本中,两者都可以启用,没有问题。

所以我的问题是,为什么会发生这种情况?为什么 LiveUSB 版本的所有功能都运行正常,但安装到系统上后却出现问题?有没有其他方式安装 Ubuntu,可以完全按照 LiveUSB 版本的方式安装东西(驱动程序、设置等)?安装过程中是否有我可以以某种方式覆盖的假设?

答案1

我在为一个朋友安装 Ubuntu 时也遇到过类似的情况。LiveUSB 开箱即用,但当 Ubuntu 启动时,由于安装了视频驱动程序,他的系统出现了严重的撕裂。他的系统无法使用。

所以,我的猜测是 LiveUSB 对你的所有硬件使用了一些非常通用的驱动程序,而且它们可以运行得相当好。

在安装过程中,Ubuntu 会找到适合您硬件的驱动程序,并将其安装到您的硬盘上。这样,当您启动时,您的硬件会使用新驱动程序与软件进行通信,这可能会破坏 LiveUSB 中一些运行良好的功能。

免责声明:这只是一个猜测,我没有证据支持它。

答案2

理论上,你可以使用 ISO 作为源并将 /dev/sdX 作为目标将实时媒体复制到硬盘驱动器dd,但这样你就拥有的是实时媒体而不是安装。我认为你不会喜欢最终结果。

答案3

LiveBoot/CD 在称为 RAM 磁盘的虚拟磁盘上运行。简单来说,它使用 RAM 的一部分作为硬盘(因此它与实际磁盘是分开的)。

实际使用的驱动程序不一定是完整版 LiveBoot 上安装的驱动程序,它将有一个“更简单”的版本。当我这样说时,我的意思是驱动程序不一定专门针对您的机器,而是一个通用驱动程序,可以在“每个”视频卡上运行。(就像在启动到安全/后备模式时会加载没有高级设置的驱动程序一样)。这样做是为了在更广泛的计算机上实现兼容性(因为 LiveBoot 旨在成为任何机器上完全可用的系统)

安装时,操作系统安装程序会查看系统上安装了哪些硬件,以及哪些驱动程序可用于该硬件。然后,它会安装并指向已安装的驱动程序。

可能的解决方案:

如果你正在安装这个新系统(即你不介意尝试找到可行的方法),你可以尝试替代版本查看此版本的驱动程序/设置是否有效。

可能的替代方案:您可以进行服务器安装,并且只安装您需要的内容,但是这需要研究,并且可能会有点让人不知所措,也是不必要的。

至于下面的答案(当我写这篇文章时),它们可能全部组合在一起形成一个答案。

您可能希望查看/考虑的其他一些事项:

  • 做一个从头开始的 LiveCD, 或者LiveCD 定制如果您了解 LiveCD 中的驱动程序,您可能能够根据您的个人用途定制 LiveCd(并更改正在安装的驱动程序)。

  • (根据 ElderGeek 的回答中关于将 LiveBoot 放在物理磁盘上的“如何操作”)您需要:

    • 为你的 LiveCD 映像创建一个分区(使其可启动)
    • dd您的 LiveBoot .iso 放到您的新分区上(示例格式为dd if=/dev/sdc1/nameof.iso of=/dev/sda1/)检查,man dd因为有不同的选项dd可以使用。
    • 操作您的 GRUB 设置以指向包含 LiveBoot 的分区(在终端类型中info -f grub -n 'Simple configuration'读取)我怀疑它sudo grub-mkconfig是否会将其作为操作系统。
    • 看着(关于如何使 LiveBoot 信息持久)您需要将 USB 所在的所有位置更改为您的分区所在的位置。

    • 这样做您可能仍然会遇到诸如休眠问题或任何其他 LiveCD 问题。

  • 加载 LiveBoot/CD 可能更容易确定正在使用的驱动程序(lsmod,或cat /proc/modules查找一些信息)并尝试使用已安装版本上的驱动程序。

答案4

内存和驱动程序是两件事。由于 LiveCD 依靠内存运行,因此这可能是个问题。此外还有驱动程序和实际硬件冲突。LiveCD 实际上并未安装在计算机上,您是从它启动的。这就是我在安装 Ubuntu 时休眠功能无法工作的原因。

相关内容