标签: boot

关于 PXE 服务器和多重启动的一些问题

我目前在我大学的技术服务台工作,在那里我们修理所有学生的个人电脑。我们有数百张 DVD 和 CD,我们用它们来启动各种不同的东西以进行故障排除。其中有:

  • 各种 Linux 发行版
  • Windows PE 环境
  • 硬盘再生
  • Windows 恢复控制台(所有版本)
  • Windows 安装盘(所有版本)

这意味着我们会在 CD 和 DVD 上花费大量资金,因为它们会丢失、划伤等。管理它们变得相当麻烦!我一直在考虑使用 PXE 服务器,它可以让我们通过网络引导到这些东西并减少混乱。

其中一些磁盘具有特殊的引导信息,因此您不能简单地将文件复制到空白磁盘。其中一些在我制作的多引导 CD 上彼此不兼容。例如,我无法使用 Ubuntu 11.04 和 Hiren 的引导 CD 制作多引导 CD。

  1. 是否可以拥有一台 PXE 服务器,允许设备“引导到”许多不同的环境?

  2. PXE 服务器是否有可能具有可启动磁盘映像 (ISO),它可以简单地“模拟”连接的计算机来启动?

  3. 如果#2 的答案是“否”,那么如何设置 PXE 服务器以引导多个事物?

  4. 最终,我想引导到 PXE 服务器,它只提供我们可以引导到的项目编号菜单。像 1) Ubuntu,2) 硬盘 Regen,3) Windows 7 Home 等。这可能吗?

    我可以从哪里开始?

boot bootloader pxe multi-boot

14
推荐指数
1
解决办法
2540
查看次数

现代 64 位 Intel 芯片 PC 在什么模式下运行引导扇区?

我知道对于像 286s 这样的旧机器,从引导驱动器的第一个扇区加载到内存中的 0000:7C00 的前 512 个字节是在 16 位实模式下运行的,但是现代 64 位架构呢?

编辑:我想这是一个错误的问题。引导加载程序的编写者是决定使用哪种模式汇编指令的决定者,对吗?硬件只是按照它所说的去做。那么我的问题应该是,64 位机器上的主要操作系统引导加载程序(如 Windows 7、Mac OS X(最新)和 GRUB)使用什么模式?

boot 64-bit mode

14
推荐指数
2
解决办法
5267
查看次数

什么是 u-Boot dtb 文件以及如何使用它 (BeagleBoard xM)?

我正在尝试为 BeagleBoard xM (Rev. C) 构建自定义 Linux。我做了很多 C/C++,但我是从头开始构建和安装 Linux 的初学者。

我使用了 Yocto Project 构建工具 ( https://www.yoctoproject.org/ ),它看起来很有前景——它为 u-Boot 引导加载程序、Linux 内核和根文件系统构建了文件。

此页面提供了使用 Yocto 生成的文件设置 micro SD 卡的说明。但是,图像文件包含一个“.dtb”文件,该文件在设置说明中未提及。

这个文件和板子硬件有关系吗?各种网站都提到加载 dtd 文件(可能在 uEnv.txt 中?),但我没有找到任何详细信息。

我使用上面的说明用MLO和u-boot.img设置了启动分区,并用uEnv.txt搞砸了一点。我还使用根文件系统设置了第二个分区。

我能够启动和登录(通过串行端口控制台),但看起来大部分板硬件 - 例如视频和所有 USB 设备,包括以太网 - 都无法正常工作。这可能是因为我没有使用 .dtb 文件吗?

有人可以解释 dtb 以及如何在 Beagle 板上使用它吗?谢谢!

linux boot bootloader beagleboard

14
推荐指数
1
解决办法
6万
查看次数

如何使用 Veracrypt 加密双引导系统?

我想在 1 个 SSD 上双启动 Windows 10 和 Arch Linux。SSD 是 465GB,我想使用 Veracrypt 来加密硬盘驱动器并启用预启动身份验证。

我还没有尝试这样做,因为我在 Veracrypt 网站上找不到任何关于此的信息。

我是否必须擦除驱动器,将其分成两个分区,然后将各自的操作系统安装到它们的分区上?那之后呢?例如,当我登录到我的 Windows 操作系统时,我可以使用 Veracrypt 加密系统,但这也会加密 Linux 分区吗?

他们会使用相同的预引导密码吗,我是否可以选择从 Veracrypt 的引导加载程序引导到哪个操作系统?

此外,如果我加密属于不同硬盘驱动器一部分的非系统分区,而不是安装操作系统,我是否能够从两个操作系统访问加密分区而不会出现任何问题?

linux boot encryption partitioning windows-10

14
推荐指数
1
解决办法
3万
查看次数

系统发现固件未经授权的更改

我有一台带有运行 Windows 7 Pro 的华硕主板的 PC。昨天我安装了最新的 Windows 更新,重新启动,不久之后使机器休眠。

今天早上在非休眠状态下,我得到了一个黑屏:

The system found unauthorized changes on the firmware,operating system or UEFI drivers
Run Code Online (Sandbox Code Playgroud)

它还说:

Go to BIOS Setup > Advanced > Boot and change the current boot device into other secured boot devices
Run Code Online (Sandbox Code Playgroud)

我能够让它启动的唯一方法是将 BIOS 安全启动操作系统更改为“其他操作系统”,即我认为这意味着安全启动被有效禁用。

最近这台机器没有硬件更改(我更改的最后一件事是大约 3 周前添加了更多 RAM,从那时起它已成功重新启动多次)。未连接 CD/DVD 或可引导 USB 设备。

我正在运行一个完整的 MSE 扫描只是为了确定/偏执。是否有可能是 Windows 更新导致了这种情况?我应该担心禁用安全启动吗?我试过将其重新设置为启用,但原始消息再次出现。

bios boot windows-7 uefi

14
推荐指数
1
解决办法
7万
查看次数

如何在虚拟框中退出 EFI shell

我正在为 Mac OSX 运行一个虚拟机,它总是启动到 EFI shell,我只想简单解释一下这是什么以及如何(如果可能)退出它。

boot virtualbox shell bootloader efi

14
推荐指数
1
解决办法
6万
查看次数

启动后如何查看Linux中的所有启动消息?

相关问题是:

Linux 在哪里放置引导消息?

记录引导过程的日志文件的名称

然而,这些都没有回答这个问题。这个问题与如何查看所有启动消息有关。

如果您想获得具体信息,这适用于 Gentoo、OpenRC、现代内核、4.9.6。然而,适用于所有发行版的通用解决方案会更可取。

问题是有时错误或警告会滚动得太快以至于无法看到。也不总是可以简单地向上滚动,原因有两个(即使在 inittab 中使用 --noclear):当切换到帧缓冲区时,滚动到切换之前的位置不再可能,第二,在 X 启动之后,在新文本添加到缓冲区之前,切换到控制台并尝试向上滚动根本不允许滚动。有时,在 dmesg 或 /var/log/messages 中根本找不到某些消息。

如何查看所有消息?

我在这里看到有人https://www.linuxquestions.org/questions/linux-newbie-8/please-how-to-pause-scrolling-messages-at-boot-323772/建议按下滚动锁可能会暂停它。然而,这充其量也不是一个非常优雅的解决方案——一些消息滚动得太快,这些天系统在启动时会突然产生大量文本。

这就是我理想中想要的:

  • 一条消息 | 如果可能的话,less 类型的解决方案,或其他一些单步执行引导过程的方式。
  • 一种确保打印在屏幕上的所有内容也被记录的方法。

有没有一种直接的方法来实现这些?

我知道一种解决方案:

CONFIG_BOOT_PRINTK_DELAY:将每个启动printk消息延迟N毫秒

奇怪的是,我似乎甚至不允许在我的 menuconfig 中选择 BOOT_PRINTK_DELAY,我可以在搜索它时找到它,但是在 Kernel hacking -> printk 和 dmesg 选项 -> 下,我只有“在 printks 上显示时间信息”和“默认”消息日志级别”。printk 延迟选项在哪里?我是否需要先启用其他功能才能使其可见?什么?如果有人知道,最好将此作为答案的一部分。

但无论如何,这需要内核重新编译,这对于看似微不足道的任务来说是一个丑陋且侵入性的黑客攻击。非常欢迎这样做的正确方法。

linux boot scrolling linux-kernel dmesg

14
推荐指数
1
解决办法
6万
查看次数

是否有命令行方式启动 UEFI 固件?

我目前有一台 CMOS 电池没电的迷你 PC。它内置了 Windows 10 的 /emmc 安装,并在单独的 SSD 上安装了 Proxmox。默认情况下它会启动到 Windows(即使我希望它进入 proxmox),并且重新启动有点烦人,记住/足够快地点击启动选择或 UEFI 屏幕并选择一个操作系统。

我无法删除 Windows 驱动器。它被焊接进去了。

另一个运行 Linux 的系统上,可以通过命令行方式启动 UEFI

是否有等效的 powershell 或内置 cmd 或其他方式从 Windows 启动到 UEFI,而无需经历切换/重新启动舞蹈?

windows boot uefi

14
推荐指数
1
解决办法
2957
查看次数

将主板更换为相同的主板后,我无法使用连接到 NVidia GTX960 GPU 的 DisplayPort 电缆启动

我有一个 3 年的华硕 TUF Gaming B550M-Plus,配备AMD Ryzen 5Nvidia GeForce GTX960,双启动 Windows 11 Pro / Ubuntu 22.04,带有双显示器主 DisplayPort 和辅助显示器 HDMI

它在几周后几乎没有任何症状,除了一个令人疲倦的系统时钟在关闭、休眠或暂停期间无法更新之外,它就死掉了。我以为是时钟电池的问题,结果拆下来测试,居然是充满的。

我启动时没有出现任何其他问题,但第二天早上,电脑就死机了,根本没有灯。

我进行了常规检查,除了主板之外,所有部件都正常。因此,我订购并获得了完全相同的主板,当然,三年后具有不同的版本和 BIOS,但所有组件和盒子都是相同的。

我安装了,但由于视频(灯光和蜂鸣声模式),它在 POST 中失败;奇怪的是,当我拔掉 DisplayPort 电缆时,它可以正常开机自检,并且我可以进入 UEFI、重新激活 Windows 等。

每次连接 DisplayPort 电缆时我都无法启动。当我在POST后连接它时,我可以正常使用Windows与原来的DP/HDMI两台显示器,但重新启动PC,同样的错误......

我在另一台电脑上安装了 GTX960 和相同的 DisplayPort 电缆,完全没有错误,但它是华硕 Prime B560。

调查我的 PC 中的情况,我知道我更新死主板的最后一个 UEFI 版本是 2021 年版本;该主板的版本略有不同,附带 2022 年 UEFI 版本,我已经更新到最新版本,日期为 2023 年 10 月。

有什么指示吗?

这是工作; 但我只能在断开 DP 电缆的情况下启动,并在几秒钟后连接它......

我做了一些搜索,但没有找到答案。

motherboard bios boot multiple-monitors

14
推荐指数
1
解决办法
935
查看次数

如何防止在 OS X 中重新启动时磁盘重新编号?

我在装有 Mac OS X 10.6.4 的 Mac Pro 中有 3 个物理驱动器。有时,在重新启动机器后,磁盘编号会发生变化,导致 /dev/disk# 引用的驱动器与重新启动前的驱动器不同。

例子

/dev/disk0 -> 64GB SSD drive
/dev/disk1 -> 640GB Hitachi
/dev/disk2 -> 160GB WD (BootCamp)
Run Code Online (Sandbox Code Playgroud)

重新启动后,映射可能是

/dev/disk0 -> 160GB WD (BootCamp)
/dev/disk1 -> 640GB Hitachi
/dev/disk2 -> 64GB SSD drive
Run Code Online (Sandbox Code Playgroud)

更令人困惑的是,重新映射并不一致。对于大多数东西,这无关紧要。但是,我还安装了 Parallels 以允许从 OS X 中访问 BootCamp 分区。Parallels 在其配置文件中使用 /dev/disk# 路径,因此,在重新启动 OS XI 后启动 Parallels 并告诉我磁盘不再存在.

有没有办法告诉 OS X 总是将给定的驱动器分配给 /dev/disk0?

boot hard-drive macos

13
推荐指数
1
解决办法
5176
查看次数