标签: boot-loader

Chromebook 上使用哪个引导加载程序?

我在Acer C7 Chromebook上安装了ChrUbuntu,我能够双启动 Ubuntu 12.04 和 ChromeOS 并控制默认加载的操作系统。我尝试编辑该文件并成功运行,但没有看到任何效果。我试图启用“dmesg”样式的详细系统加载屏幕而不是安静的启动屏幕(在 Ubuntu 启动期间)。我怀疑 GRUB 不是机器上的引导加载程序,或者仅在 Linux 分区上充当相当晚的辅助引导加载程序。我意识到 Chromebook 是一个由 Google 严格控制的相当封闭的系统,但由于它是 Linux,人们可能知道答案。/etc/default/grubupdate-grub

我不太需要“dmesg”风格的冗长启动;但确实对这个系统上的引导加载感到好奇。

PS 只是为了澄清,我试图在机器上的 Ubuntu 引导上启用详细加载屏幕。

grub boot boot-loader chrubuntu chrome-book

11
推荐指数
2
解决办法
1万
查看次数

设备树中与号前缀的含义

我正在查看一个尝试指定不同节点的 DTS 文件,但有趣的是我发现一些节点具有不同的命名方式。

/ {
    model = "TI AM335x BeagleBone Black";
    compatible = "ti,am335x-bone-black", "ti,am335x-bone", "ti,am33xx";
};

&ldo3_reg {
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <1800000>;
    regulator-always-on;
};

&mmc1 {
    vmmc-supply = <&vmmcsd_fixed>;
};

&mmc2 {
    vmmc-supply = <&vmmcsd_fixed>;
    pinctrl-names = "default";
    pinctrl-0 = <&emmc_pins>;
    bus-width = <8>;
    status = "okay";
};

/ {
    hdmi {
        compatible = "ti,tilcdc,slave";
        i2c = <&i2c0>;
        pinctrl-names = "default", "off";
        pinctrl-0 = <&nxp_hdmi_bonelt_pins>;
        pinctrl-1 = <&nxp_hdmi_bonelt_off_pins>;
        status = "okay";
    };
};
Run Code Online (Sandbox Code Playgroud)

如果一个节点有&它的前缀,它表达了什么?将它们与根节点分开的必要性是什么,而它们可以存在于根节点本身中?有趣的是,上面的例子也有两个根节点,这怎么可能?

drivers boot-loader arm linux-kernel device-tree

11
推荐指数
1
解决办法
2988
查看次数

UEFI和Grub有什么关系?

我在同一个ssd上安装了win10和Linux双启动,在安装Linux时,它包含了grub。安装完成后,我可以看到ESP分区中添加了一个新的Linux efi文件。现在我决定完全删除 Linux,我所做的第一步是使用名为 EasyUEFI 的工具删除 efi 启动项。当我重新启动并按 F11 时,该条目消失了。

\n\n

但有两部分让我困惑:

\n\n
    \n
  1. Linux efi 文件在条目被删除后仍然在 ESP 分区中,我认为这样的 efi 文件的存在是 UEFI 在用户启动时按 F11 时知道是否有这样的启动选项的方式。现在这意味着启动选项被记录在其他地方,而 EasyUEFI 工具只是将其删除。它在哪里,在 ESP 分区中吗?

  2. \n
  3. 我不太确定我是否理解正确,UEFI 引导(efi 文件以及安装过程中添加的任何其他引导记录)和 grub 现在是同一件事吗?或者当用户选择 efi 启动项时,它\xe2\x80\x99s 会进入 grub 启动菜单,这是一个单独的东西?如果 efi boot 已经可以处理启动选择,那么 \xe2\x80\x99 之后的 grub 就没有意义了吗?

  4. \n
\n\n

比你

\n

grub dual-boot boot-loader uefi

11
推荐指数
1
解决办法
2万
查看次数

如何将 syslinux 配置为立即启动

我正在调整一个 Debian 实时系统(使用实时构建构建),我希望它从 syslinux 直接引导到系统中——没有菜单,没有超时。根据syslinux 文档,超时值为 0 表示禁用超时,即。如果没有用户干预,它根本不会启动,这与我想要的相反。

在我确实需要调整内核行的极少数情况下,能够按住一个键可能会很好,但这不是必需的。真的,我只想立即启动。我如何得到它?

当前的 syslinux 配置是这样的:

syslinux.cfg :

include menu.cfg
default vesamenu.c32
prompt 0
timeout 0
Run Code Online (Sandbox Code Playgroud)

菜单.cfg :

menu hshift 0
menu width 82

menu title Boot menu
include stdmenu.cfg
include live.cfg
include install.cfg
menu end
Run Code Online (Sandbox Code Playgroud)

标准菜单.cfg

menu background splash.png
menu color title    * #FFFFFFFF *
menu color border   * #00000000 #00000000 none
menu color sel      * #ffffffff #76a1d0ff *
menu color hotsel   1;7;37;40 #ffffffff #76a1d0ff *
menu color …
Run Code Online (Sandbox Code Playgroud)

boot-loader debian live-usb syslinux

10
推荐指数
1
解决办法
4万
查看次数

GRUB 需要很长时间才能解锁加密的引导分区

我已将 GRUB2 安装到加密的引导分区,详情请见此处。我选择的散列算法luksFormatsha512,默认值iter-time(2 秒)。

如果从命令行(从archiso或从正在运行的系统)解锁,这个加密分区需要 2 秒多一点的时间,但 GRUB 平均需要 10.5 秒来解锁它。对于我的场景,这比可接受的要慢。

我发现其他人在这里这里有同样的问题。在第二个链接中,用户frostschutz发布了一些关于可能导致这种情况的提示,我认为其中 2 条非常有效:

1) 早期 GRUB 解锁期间 CPU 可能处于省电模式

2) GRUB 可能正在使用比系统慢得多的散列实现。他做了一个基准测试,可以在这里找到。

由于加密启动分区似乎变得越来越普遍,而且这个问题还没有令人满意的答案,我想我会问这个问题。除了减少迭代次数(这会大大降低离线攻击场景中的安全性)之外,还可以做些什么来应对 GRUB 引导加载程序的(慢得多)解密时间?

我想至少查明确切原因。有没有办法在引导加载程序屏幕中检查(并可能改变)CPU 时钟?我知道 GRUB 有一个外壳;我打开它并尝试过cat /proc/cpuinfo但它失败了“/proc not found”或类似的东西。我也试过cpuid,虽然它没有失败,但它也不返回任何内容。

作为附加信息,我得到了这些时间:

  • 输入密码并按 后,GRUB 需要9 秒或更长时间才能解锁引导分区 ( /boot) Enter
  • 内核似乎需要大约 7 秒钟才能解锁根分区 ( /)。同样,这是按 后计时的Enter
  • 内核在 2 …

performance boot-loader encryption grub2

10
推荐指数
1
解决办法
6559
查看次数

用于 Linux 的 Windows 启动配置数据 (BCD) 查看器

是否有适用于 Linux 的 Windows 启动配置数据 (BCD) 查看器之类的东西?

我知道 BCD 文件就像“注册表配置单元”,并且存在用于读取 Linux 注册表配置单元的工具。

有没有办法查看 BCD 文件包含的内容、分区列表等?以前处理boot.ini文件很容易,但现在不行了!

我的用例是这样的:我有一个无法从 Windows 访问的隐藏分区(它是一个系统分区),我想读取它的 BCD 文件。在同一个系统上,该分区和 Windows 引导分区都有引导管理器和 BCD 文件,我正在尝试解决这个问题(最终是双引导 Linux)。

dual-boot boot-loader windows

9
推荐指数
2
解决办法
2万
查看次数

Linux 内核如何能够访问其分配的 initramfs/initrd?

我试图从您按下电源按钮的那一刻起了解整个机器的启动过程。从引导加载程序到 initramfs 阶段,我不太了解其他一些较小的部分。

鉴于条目的此 Grub 配置,取自最近的 Ubuntu 默认安装:

insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root 96fb7310-5adb-4f66-bf59-04acd08d76a3
echo    'Loading Linux x.y.z ...'
linux   /vmlinuz-x.y.z root=/dev/mapper/some-device-name ro nomodeset 
echo    'Loading initial ramdisk ...'
initrd  /initrd.img-x.y.z
Run Code Online (Sandbox Code Playgroud)

这在系统状态和内存方面实际上做了什么?我知道 Grub 的任务是“加载和运行内核”,它有自己的一组模块来访问设备(或网络)上的文件以获取它们。在这里insmod的例子中s, set rootand search- 但这只是从 Grub 的角度来看,并没有与内核共享,对吗?

我还猜测 Grub 正在将内核的(副本?)加载到内存(linuxcommand)中并启动它以开始执行。(显然是两个不同的步骤 - 那么,如何?)给定的参数可以在内核中读取并解释(这是一个映射到内存某处的大字符串吗?)并提供安排所请求事物的选项。

我也看到了这个initrd选项。这指向我的 gzip 压缩 initramfs,需要引导由root=. 但是这个initramfs是如何提供给内核的呢?它不会传递任何内存地址到它可以加载它的地方,也不能访问它本身,因为它在内核启动之前已经加载。一些内核文档说这个 initramfs 文件系统“设备”可以通过 访问/dev/ram0,但我不知道它是如何成为一个可访问的设备文件的。我猜我没看到水下发生了什么。

我也没有看到这与其他引导加载程序有什么关系,包括嵌入式平台,例如使用 U-boot/Coreboot。这是否与 Grub 做同样的事情(相同的标准内存地址?)以及在加载内核/initrd 方面这些与 Grub 相比在多大程度上? …

boot-loader initramfs linux-kernel

9
推荐指数
2
解决办法
3083
查看次数

在 Xilinx 上的 Linux 启动过程中禁用 PHY 自动协商

我正在尝试在 FPGA 板上安装 Linux。linux 风格是赛灵思 FPGA 芯片的petalinux

当前的 Xilinx SoC 具有 Cortex A9 处理器和可编程硬件逻辑,即 FPGA。我在终端上捕获了启动消息:

.....................U-boot time.......................partition.......................................................

[Fri Dec 27 15:18:53.108 2013] Copying Linux from SD to RAM...
[Fri Dec 27 15:18:53.129 2013] Device: SDHCI
[Fri Dec 27 15:18:53.129 2013] Manufacturer ID: 2
[Fri Dec 27 15:18:53.129 2013] OEM: 544d
[Fri Dec 27 15:18:53.129 2013] Name: SA04G 
[Fri Dec 27 15:18:53.129 2013] Tran Speed: 25000000
[Fri Dec 27 15:18:53.129 2013] Rd Block Len: 512
[Fri Dec 27 15:18:53.129 …
Run Code Online (Sandbox Code Playgroud)

boot-loader u-boot tcp-ip

9
推荐指数
1
解决办法
2736
查看次数

PC 直接启动到 Windows 10 而不是启动 grub

我最近购买了一台笔记本电脑,一台 Acer Aspire R15,具有以下规格:17 7500U、12GB DDR4、256GB SSD、GTX 940MX 2GB。

它预装了 Windows 10,但我想在双引导配置中安装 Debian 以进行编程。

无论如何,我在 C: 驱动器的一个单独分区上安装了 Debian,并安装了 grub。当我重新启动 PC 时,它直接进入了 Windows 10,而没有启动 grub。我做了几次谷歌搜索并最终尝试了这个,但这种方法不起作用,我的电脑再次直接启动到 Windows。然后我尝试了这个,这也不起作用。然后我尝试在使用refine的USB闪存驱动器启动到debian后直接通过debian安装reFIND,以尝试查看是否可以使用refind代替Grub,但这也没有任何作用。

TL;DR:我的电脑直接启动到 Windows 而不是加载 grub,我尝试了我找到的所有方法来解决这个问题,但没有一个有效。有人可以帮我让我的电脑用 grub 启动吗?

dual-boot boot-loader debian windows

9
推荐指数
2
解决办法
4万
查看次数

EFI 分区与 /boot 分区

我无法理解EFI 系统分区 (ESP)和 linux /boot 分区之间的区别。

在线阅读告诉我该/boot分区将包含引导加载程序,即 GRUB2。那么,如果是这样的话,如果我将 GRUB 存储在 ESP 上,那么它是否与/boot分区相同?

或者 GRUB2 是否应该存储在 ESP 上(我以前做过,并且有效)并且该/boot分区应该包含供 GRUB 查找的文件,通常需要之前加载的文件,比如说,一个加密的LVM 已加载。

这两者有什么区别?

boot partition boot-loader uefi

9
推荐指数
1
解决办法
9956
查看次数