AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题

问题[boot](unix)

Martin Hope
Judah
Asked: 2025-04-14 22:26:26 +0800 CST

编辑或安装 Ubuntu GRUB 序列

  • 3

我的问题比标题描述的更复杂。我有一台用作服务器的电脑。我首先安装了一个无头 Ubuntu,因为这是我运行服务所需的全部功能。然后,为了加快服务开发速度,我又安装了标准 Ubuntu 和无头 Ubuntu。我的问题是这样的:

如果我将启动设置为无头版本,启动时却无法选择启动到有头版本。如果我将启动设置为有头版本,则可以选择启动到有头版本,但默认启动还是有头版本。我想知道是否可以 A). 为无头版本添加一个启动管理器,使其超时并默认启动到无头版本;或者 B). 编辑有头版本的启动管理器的顺序。

boot
  • 1 个回答
  • 26 Views
Martin Hope
Desert Wind
Asked: 2025-03-06 23:52:54 +0800 CST

糟糕的环境变量搞乱了基于 Debian 的启动(Raspberry Pi OS)

  • 6

我在一些环境变量中设置了错误的路径,现在启动时感觉完全不一样了。操作系统是Raspberry Pi OS,它基于Debian。

结果:
启动后,鼠标屏幕立即变黑。单击任意鼠标按钮,会出现 2 个选项,“重新配置”和“退出”。“重新配置”似乎没有任何作用。我点击“退出”,感觉程序正在关闭并重新启动。我短暂地可以按“ctrl”+“alt”+“F1”,并短暂地看到一些命令/终端代码,然后再次加载鼠标屏幕。(术语不当,我对 Linux 很陌生)

我所做的:
我做的坏事是添加了Vulkan_SDK环境文件sudo nano /etc/environment的路径。 (我不知道该怎么做),这对我来说真是太愚蠢了。setup-env.sh

PATH="path/to/setup-env.sh"

setup-env.sh内容:

# Copyright (c) 2015-2023 LunarG, Inc.

# source this file into an existing shell to setup your environment.
#
# See docs for in depth documentation:
# https://vulkan.lunarg.com/doc/sdk/latest/linux/getting_started.html

ARCH="$(uname -m)"
VULKAN_SDK="$(dirname "$(readlink -f "${BASH_SOURCE:-$0}" )" )/$ARCH"
export VULKAN_SDK
PATH="$VULKAN_SDK/bin:$PATH"
export PATH
LD_LIBRARY_PATH="$VULKAN_SDK/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
export LD_LIBRARY_PATH
VK_ADD_LAYER_PATH="$VULKAN_SDK/share/vulkan/explicit_layer.d${VK_ADD_LAYER_PATH:+:$VK_ADD_LAYER_PATH}"
export VK_ADD_LAYER_PATH
if [ -n "${VK_LAYER_PATH-}" ]; then
    echo "Unsetting VK_LAYER_PATH environment variable for SDK usage"
    unset VK_LAYER_PATH
fi

我怎样才能解决这个问题,删除环境中的这条线,并让它恢复到“正常”状态?

boot
  • 1 个回答
  • 55 Views
Martin Hope
lexcomp
Asked: 2025-02-28 02:41:29 +0800 CST

在 Windows 中删除了 Manjaro 分区,现在只能启动到 grub 救援

  • 4

在 Windows 上,我删除了安装 Manjaro 的分区,当时没有出现任何错误,但下次我重新启动 PC 时,它直接将我发送到 GRUB 救援。我已经尝试重新安装 Linux Mint 和 Manjaro,但由于各种错误而失败(我不得不创建一个单独的 efi 分区,但即使这样,我在安装过程中仍然会遇到错误)。在线研究让我尝试了一些方法,例如在 Windows 恢复模式下“bootrec /fixmbr”以及在 Manjaro USB 启动时从 Grub 手动启动 Windows。这两次尝试都失败了。

有什么办法可以修复 grub 或者切换到 windows 引导加载程序?

GParted 实时截图

boot
  • 3 个回答
  • 56 Views
Martin Hope
Martin Vegter
Asked: 2024-11-10 14:39:22 +0800 CST

ucsi_acpi 错误 con1: 无法获取 usb 角色切换,PPM 初始化失败

  • 6

更换笔记本电脑的主板后,在早期启动时出现以下错误:

ucsi_acpi USBC000:00: error -ENODEV: con1: failed to get usb role switch
ucsi_acpi USBC000:00: error -ENODEV: PPM init failed

据我所知,USB-C 端口工作正常。但我想了解这些错误的含义,以及如何消除它们。

这是否只是一些需要禁用/启用的 UEFI bios 设置?显然,在更换过程中,这些设置已重置为出厂默认设置。

boot
  • 1 个回答
  • 38 Views
Martin Hope
Daniel
Asked: 2024-11-07 14:26:12 +0800 CST

Guix:如何将一个文件系统设置为另一个文件系统的依赖项?或者在设备映射之前挂载一个设备?

  • 6

假设我有一个 LUKS 分区,它加密了根文件系统,其密钥驻留在另一个文件系统中。

(mapped-devices (list
    (mapped-device
        (type (luks-device-mapping-with-options #:key-file "/early-mount/luks-key"))
        (source "/dev/sda1")
        (target "operating-system")
    )
))

我如何config.scm在 LUKS 解密步骤之前通过文件指示 Guix 挂载第二个文件系统?

尝试#1

我尝试(needed-for-boot? #t)在第二个文件系统上进行设置,但检查生成的 initrd 脚本时,它仍尝试在挂载之前解密。

(file-system
    (mount-point "/early-mount")
    (device (file-system-label "early-mount"))
    (type "ext4")
    (needed-for-boot? #t) ; This doesn't move it to #:pre-mount
)

尝试#2

(filter)还尝试通过和设置根文件系统的依赖关系,(file-system-mount-point-predicate)但出现错误:

错误:文件系统:未绑定变量

这是有道理的,因为它正处于定义之中(file-systems)

(file-systems (cons*
    (file-system ...) ; early-mount definition
    (file-system
        (mount-point "/")
        (device "/dev/mapper/operating-system")
        (type "ext4")
        (dependencies (cons*
            (filter
                (file-system-mount-point-predicate "/early-mount")
                file-systems ; This is currently being defined so it's not available yet
            )
            mapped-devices
        ))
    )
    %base-file-systems
))

尝试#3

尝试为第二个文件系统创建一个局部变量(let),目的是将其插入到(file-systems)以及下,(dependencies)但出现错误:

错误:(let ...):无效的字段说明符

(let
    (
        (early-mount
            (file-system
                (mount-point "/early-mount")
                (device (file-system-label "early-mount"))
                (type "ext4")
                (needed-for-boot? #t)
            )
        )
    )
    (file-systems (cons*
        early-mount
        (file-system
            (mount-point "/")
            (device "/dev/mapper/operating-system")
            (type "ext4")
            (dependencies (cons*
                early-mount
                mapped-devices
            ))
        )
        %base-file-systems
    ))
)

尝试#4

然后尝试重复第二个文件系统(file-system)条目,这实际上允许我部署配置:

(file-systems (cons*
    (file-system ...) ; early-mount definition
    (file-system
        (mount-point "/")
        (device "/dev/mapper/operating-system")
        (type "ext4")
        (dependencies (cons*
            (file-system ...) ; early-mount definition, copy/pasted
            mapped-devices
        ))
    )
    %base-file-systems
))

/early-mount然而,这会在启动期间尝试提示我输入密码,这让我相信在尝试打开 LUKS 之前无法挂载。

boot
  • 1 个回答
  • 25 Views
Martin Hope
Dair
Asked: 2024-11-04 04:58:57 +0800 CST

在 DC Roma Laptop II(RISC-V)上安装 Alpine:如何从“Mini Root Filesystem”制作图像?

  • 5

我最近在 Reddit 上问了一个关于如何在我的 DC Roma Laptop II 上安装 Arch 的问题。其中一个建议是改用 Alpine,因为它支持 RISC-V。查看下载页面,确实有一个 RISC-V“Mini Root Filesystem”可供下载。下载后,我尝试将其转换为 iso(类似于我在 Reddit 帖子中描述的内容):

mkisofs -o alpine_riscv.iso ~/Downloads/alpine-minirootfs-3.20.3-riscv64

为了将其复制到我打算从中启动的 Micro SD 卡上,我运行了:

sudo dd if=alpine_riscv.img of=/dev/sdb bs=64M conv=fsync oflag=direct status=progress

尝试启动插入 Micro SD 的计算机后,我只得到一个空白屏幕。我真的不知道该如何处理“迷你根文件系统”才能真正构建正确的映像。(我习惯于只刷入预构建的 ISO 文件。我怀疑我做错了什么。)是否有一些命令行实用程序可以帮助将迷你根文件系统转换为我可以用来启动的 ISO 映像?

boot
  • 1 个回答
  • 42 Views
Martin Hope
jackar
Asked: 2024-10-22 04:16:25 +0800 CST

使用全盘加密时如何保护 /boot 的内容?

  • 6

使用全盘加密时,/boot通常需要一个未加密的分区来存储引导加载程序和预引导环境。

这些initcpio或initramfs图像需要在解密之前加载,因此它们可以被(邪恶女仆)攻击者访问,攻击者可以用自己的替换它们,或偷偷修改它们以替换包含的ssh服务器或tty控制台,从而将解密密码/密钥泄露给外界。

防止(或检测)篡改内容的理想方法是什么/boot?滚动我们自己的签名密钥,对/boot图像进行签名,并希望主板实现的 BIOS、安全启动和安全密码中没有允许(邪恶女仆)攻击者注册他们自己的密钥的错误?

initcpio当我们检测到系统已解锁并由不正确的签名加载/使用不正确的签名时,是否使用 PGP 对图像进行签名、清空内存并停止系统initramfs?

即使是 TPM 工具(如 Clevis)也只能在系统设置并运行后提供保护。清除 TPM 后(例如固件升级后),如何确保信任?

/boot或者每次我们想要在断电后启动系统时,唯一可靠的保护是否是从外部提供我们自己的保护?

boot
  • 1 个回答
  • 42 Views
Martin Hope
ela
Asked: 2024-09-14 09:19:32 +0800 CST

启动总是显示错误:“未知的文件系统。grub rescue>”

  • 5

我有一个双启动系统,AVLinux(基于 Debian 的发行版)和 Windows 11 安装在两个单独的分区中,我的 PC 使用 EFI。我的系统运行良好,直到昨天,当我启动 PC 时,Grub 的黑屏显示未知文件系统。错误消息和grub rescue>控制台以输入命令。

下面是屏幕图片: 屏幕显示“未知文件系统。”错误消息和“*grub rescue>”控制台

根据这个问题的第一个答案,我设法从 Grub 的救援控制台启动 Grub 的菜单,使用ls这个控制台找到安装了 grub 的 Linux 分区,然后发出命令手动启动Grub 文件夹中的正常(hd0,gpt4)内核模块。假设这是我的 Linux 分区(安装了 Grub),我发出了:

set prefix=(hd0,gpt4)/boot/grub
insmod normal
normal

获取 Grub 菜单并成功启动两个操作系统

不幸的是我必须在每次启动时发出相同的命令因为我无法摆脱那个屏幕......

我已经遵循了几乎所有的建议(比如我之前链接的建议),建议使用

sudo grub-install /dev/sda
sudo update-grub

命令(其中/dev/sda指的是您要重新安装 Grub 的驱动器,对我来说应该是/dev/nvme0n1)但没有任何变化。

当然,我也尝试遵循类似这样的建议,建议从 Linux 的实时版本(对我来说是 Kali Linux)重新安装 Grub,方法是挂载我的 Linux 分区(再次,安装了 Grub 的分区/boot/grub)、我的 EFI 分区、efivars 分区,然后使用 chroot 发出 grub-install:

sudo mount /dev/sdXY /mnt
sudo mount /dev/sdXX /mnt/boot/efi


for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done  
sudo chroot /mnt  

mount -t efivarfs none /sys/firmware/efi/efivars 
grub-install /dev/sdX
update-grub
exit 

其中:sdX= 磁盘 | sdXX= efi 分区 | sdXY= 系统分区(安装了 Grub 的分区)

但什么也没有改变。

我还尝试过efibootmgr改变 bootorder 的顺序并禁用一些 bootnums,但没有结果。

我甚至尝试使用启动修复程序,并读取它解决了许多问题,但是 - 再次 - 没有任何效果......

似乎在启动的最初阶段,Grub 试图从错误的位置启动其菜单,因此我必须手动设置位置/boot/grub才能获取菜单屏幕。不幸的是,我不知道如何检查这一点,如果可以,如何配置 Grub 以在正确的位置查找...

顺便说一句,我不确定,但我认为问题是在 Windows 更新后出现的。

以下是 GParted 中显示的我的分区列表: GParted 输出

/dev/nvme0n1p3我的 Windows 分区在哪里,/dev/nvme0n1p4Linux 的分区在哪里

这里是通过发出efibootmgr设置后获得的输出efibootmgr -v:

BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000,0002,0001,0006,0003,0007,0008,0009,000A
Boot0000* Windows Boot Manager  HD(1,GPT,8b97638e-a366-4f45-be4e-60f9ef16f8dc,0x800,0x32000)/File(\EFI\MX21\grubx64.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
Boot0001* ubuntu    HD(1,GPT,8b97638e-a366-4f45-be4e-60f9ef16f8dc,0x800,0x32000)/File(\EFI\ubuntu\shimx64.efi)
Boot0002* MX21  HD(1,GPT,8b97638e-a366-4f45-be4e-60f9ef16f8dc,0x800,0x32000)/File(\EFI\MX21\grubx64.efi)
Boot0003* debian    HD(1,GPT,8b97638e-a366-4f45-be4e-60f9ef16f8dc,0x800,0x32000)/File(\EFI\debian\grubx64.efi)
Boot0006* mx    HD(1,GPT,8b97638e-a366-4f45-be4e-60f9ef16f8dc,0x800,0x32000)/File(\EFI\mx\grubx64.efi)
Boot0007* Windows Boot Manager  HD(1,GPT,8b97638e-a366-4f45-be4e-60f9ef16f8dc,0x800,0x32000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)..BO
Boot0008* UEFI:CD/DVD Drive BBS(129,,0x0)
Boot0009* UEFI:Removable Device BBS(130,,0x0)
Boot000A* UEFI:Network Device   BBS(131,,0x0)

有人对此有线索吗?我不知道该尝试什么了……

boot
  • 2 个回答
  • 41 Views
Martin Hope
user943998
Asked: 2024-07-17 02:41:38 +0800 CST

LFS 在 MacBook Pro 2014 中启动 EFI

  • 5

我正在尝试使用主 LFS 书籍版本 12.1从头开始​​构建 linux(LFS)作为一个教育项目,但是,当我到达 bottable 章节时,我发现我必须使用 EFI 支持启动我的 LFS,因为我的主要机器是 macbook pro 2014,所以我遵循 BLFS 指南使用 GRUB 设置使用 UEFI 的启动过程,和https://www.linuxfromscratch.org/blfs/view/12.1/postlfs/grub-efi.html;

当我重新启动机器时,我得到了

错误磁盘‘hd0,2’未找到

我通过使用修复它

设置根=(hd1,gpt4)

下一个问题是

未找到 /boot/vmlinuz-6.7.4-lfs-12.1

我检查了我的启动文件,发现文件名存在于不同的名称/boot/vmlinuz-6.7.4-lfs-12.1-systemd下,所以我将其重命名为/boot/vmlinuz-6.7.4-lfs-12.1。

不,当我再次启动时,从启动菜单中选择 lfs 系统后出现黑屏。

附加的文件

fdisk -l /dev/sda 输出

Device         Start       End  Sectors   Size Type
/dev/sda1         40    409639   409600   200M EFI System
/dev/sda2     411648  17807359 17395712   8.3G Linux swap
/dev/sda3  488847608 490117143  1269536 619.9M Apple boot
/dev/sda4   19855360  81295359 61440000  29.3G Linux filesystem

Linux内核配置文件

grub.cfg 文件

有什么帮助吗!

boot
  • 1 个回答
  • 19 Views
Martin Hope
Ole Tange
Asked: 2024-06-16 19:09:16 +0800 CST

从 USB 启动 - 重定向至 SSD

  • 5

我使用 Ubuntu 24.04 重新安装了旧的 HP ProBook 6460b。

它不再在 SSD 上启动(同一问题https://askubuntu.com/questions/1490970/my-hp-does-not-boot-after-fresh-ubuntu-22-04-install)。

这不是 BIOS 启动顺序问题:硬盘在 USB 之后立即列出,并且之前可以正常工作。因此,Ubuntu 安装过程中的某些问题导致了此问题。

如果我将磁盘移至 USB 适配器电缆,那么我就可以从 SSD 正常启动。

因此只要通过 USB,机器就可以从磁盘正常启动。

我如何构建一个具有足够信息以将启动过程引导至 SSD 的微型 USB 磁盘?(按老话说,我考虑的是根设备 = 内部 SSD /dev/sda 的 GRUB)。

HP 6460b 已对 UEFI 进行了实验性支持。无论启用还是禁用 UEFI,都可以从 USB 启动。

boot
  • 1 个回答
  • 49 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve