标签: systemd-boot

如何创建系统目标?

在通过大量帖子、Youtube 视频和有关 systemd 问题的“文档”中搜索了大量内容后,我仍然不知所措。

链接(https://wiki.archlinux.org/index.php/systemd#Create_custom_target)看起来很有希望,但有点含糊(对我来说)。

如何创建自定义 systemd 目标(即: foo.target ),以便可以使用选择的 .service 单元启动?

例子

  1. 系统启动 default.target(“foo.target”的符号链接)
  2. “foo.target”只启动准系统 X 服务器和 GUI 程序,比如“gvim”。

原因

我只是想创建一个自定义目标来快速启动一个 X 程序。我很乐意排除所有我不需要的服务。

提前致谢!

boot systemd runlevel systemd-boot

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

如何跳过 systemd 中的 90 秒超时

是否可以交互跳过 systemd 中的 90 秒超时?例如,当它等待磁盘可用或用户注销时?我知道它最终会失败,所以我现在可以让它失败吗?我讨厌只是无助地盯着屏幕。

systemd systemd-boot

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

由于缺少外部磁盘而无法启动

使用 Fedora 24,我在 /etc/fstab 中配置了一个外部 USB 驱动器:

UUID=6826692e-79f4-4423-8467-cef4d5e840c5 /backup/external      ext4    defaults  0 0
Run Code Online (Sandbox Code Playgroud)

当我拔下 USB 磁盘并重新启动时,它无法启动

那是错误信息:

[ TIME ] Timed out waiting for device dev-disk-by\x2duuid-6826692e\x2d79f4\x2d4423\x2d8467\x2dcef4d5e840c5.device.
[DEPEND] Dependency failed for /backup/external.
[DEPEND] Dependency failed for Local File Systems.
[DEPEND] Dependency failed for Relabel all filesystems, if necessary.
[DEPEND] Dependency failed for Mark the need to relabel after reboot.
Run Code Online (Sandbox Code Playgroud)

为什么不开机?这是一个错误吗?一项功能?systemd的?我知道这是我的错误,我不得不将选项设置为“noauto”,但无论如何,为什么启动过程会因为缺少 FHS 的非关键目录而停止?

linux startup fstab external-hdd systemd-boot

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

systemd-boot 跳过启动菜单并忽略 /loader/loader.conf 中的设置

最近,在我对我的多重引导系统做了一些事情之后,当我用 引导 NixOS 时systemd-boot,引导菜单不再显示,即使超时仍然设置为 2 秒/loader/loader.conf(在 ESP 上):

# /loader/loader.conf on the ESP
timeout 2
default nixos-generation-380
Run Code Online (Sandbox Code Playgroud)

这是我的/etc/nixos/configuration.nix

{ # ...
  boot.loader = {
    efi.canTouchEfiVariables = true;
    systemd-boot.enable = true;
    timeout = 2;
  };
}
Run Code Online (Sandbox Code Playgroud)

事实证明,要查看启动菜单,我必须在启动过程中按下某个键,就好像超时已设置为 0(而不是 2)秒。

我尝试systemd-bootx64.efi从 ESP 中删除并nixos-install从 USB 闪存驱动器重新安装 NixOS 。这恢复systemd-bootx64.efi但没有带回启动菜单。

这个问题似乎并不少见:

据报道,这两个问题都已得到解决。但是,我不明白第一个解决方案:

编辑3:解决了!重新安装 UEFI 就成功了。

“重新安装 UEFI”是什么意思?

至于第二个,它建议在启动菜单中使用tShift+t键(如果在启动过程中按下某个键就会显示)来设置不同的超时,但我不想要不同的超时,我想要 …

boot uefi nixos systemd-boot

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

流行操作系统:systemd-boot 无法检测到 Windows

我已经按照经典程序在双启动中安装 Windows 和 Linux。首先我在 UEFI 模式下安装了 Windows,然后我使用可启动的 PopOS 密钥来调整主 Windows 分区的大小;我/boot/efi在剩余空间中创建了一个 Linux 分区以及一个 500MB 的分区。

我的问题是,systemd-boot似乎无法检测到 Windows 引导加载程序。

当我显示 systemd-boot 菜单时,它只将 PopOS 列为可能的启动选项,即使我可以从我的 BIOS 菜单中毫无问题地启动 Windows。

当我运行时bootctl,我得到以下输出:

System:
     Firmware: UEFI 2.70 (American Megatrends 5.14)
  Secure Boot: disabled
   Setup Mode: setup

Current Boot Loader:
      Product: systemd-boot 245.4-4ubuntu3.1pop0~1590695674~20.04~eaac747
     Features: ? Boot counting
               ? Menu timeout control
               ? One-shot menu timeout control
               ? Default entry control
               ? One-shot entry control
               ? Support for XBOOTLDR partition
               ? Support …
Run Code Online (Sandbox Code Playgroud)

dual-boot windows uefi systemd-boot pop-os

7
推荐指数
2
解决办法
8425
查看次数

在系统启动时而不是在用户登录时启动 systemd 用户服务

给定 UID 1000 的服务定义~/.config/systemd/user/do-something.service,该服务在登录时自动安装、启用和启动,我希望在系统启动do-something.service时启动。

\n

一种可能的解决方案是user@1000.service作为 system\xe2\x80\x99s 的依赖项进行安装multi-user.target,但问题是这是否是推荐的设置以及它的缺点是什么。

\n

systemd systemd-boot systemd-user

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

安装了 Arch Linux 但无法启动

我第一次安装了 Arch Linux,我试图设置我的 UEFI 启动过程,但一定是在某个地方失败了,在启动时我确实看到了带有该Arch Linux选项的启动菜单,但是当我选择它时,我收到一条消息,/vmlinuz-linux:Not Found即它可以' t 找到要引导的内核。我已按照https://wiki.archlinux.org/index.php/Installation_guide上的说明进行操作,但一定是在某处搞砸了。

我怎样才能解决这个问题?

分区布局:

/dev/sda1 EFI System (512M)
/dev/sda2 Linux fs (244M)
/dev/sda3 Linux fs (1M)
/dev/sda4 Linux fs (465G)
Run Code Online (Sandbox Code Playgroud)

/etc/fstab

#/dev/sda4  
UUID=41d8483f-0d29-4234-bf1e-3c55346b5667  /  ext4    rw,realtime,data=unordered 0 1
Run Code Online (Sandbox Code Playgroud)

esp 被设置在 /boot/

编辑 1
哦,是的,我可以随时从我的 USB 拇指驱动器启动以进行故障排除...,

edit2
我明白了,我的/boot/loder/entries/arch.conf样子:

title          Arch Linux
linux          /vmlinuz-linux
initrd         /initramfs-linux.img
options        root=PARTUUID=41d8483f-0d29-4234-bf1e-3c55346b5667 rw
Run Code Online (Sandbox Code Playgroud)

但是我/的目录中根本没有文件。这可能是问题吗?

boot arch-linux uefi systemd-boot

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

Arch 启动警告:pci DPC:RP PIO 日志大小 0 无效

我按照本指南在我的新 Dell 9300 上安装了 Arch:https://github.com/Spissable/arch-linux-installation/blob/master/README.md

一切正常,我可以启动进入我的系统。但是,在正常的 systemd-boot 输出之前启动该弹出窗口时,会出现两个警告:

pci 0000:00:07.0: DPC: RP PIO log size 0 is invalid
pci 0000:00:07.2: DPC: RP PIO log size 0 is invalid
Run Code Online (Sandbox Code Playgroud)

我唯一能找到的是: https: //www.spinics.net/lists/kernel/msg3763759.html 我做了 BIOS 检查,所有硬件组件都很好。

对于为什么会发生这种情况有什么想法吗?

linux boot arch-linux systemd-boot

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

如何在引导期间从 systemd 服务将输出写入屏幕?

我有一个在第一次启动时运行的自定义 systemd 服务。

如果用户没有 bootsplash,我想写到控制台并提供一些关于正在发生的事情的信息。有没有办法从我的服务中做到这一点?

这是我的 systemd 服务:

[Unit]
Description=Prepare operator after installation
Before=getty@tty1.service getty@tty2.service getty@rrt3.service getty@tty4.service getty@tty5.service getty@tty6.service
Wants=network-online.target
After=network.target network-online.target
OnFailure=emergency.target
OnFailureJobMode=replace-irreversibly

[Service]
Type=oneshot
ExecStart=/usr/bin/provision-operator

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

centos shell-script systemd systemd-boot

5
推荐指数
1
解决办法
5089
查看次数

如何使用 systemd boot 通过标签指定 cryptdevice?

我正在使用 systemd 启动运行 Arch Linux。我当前使用/boot/loader/entries/arch.conf如下行指定 luks 加密设备:

options        rw cryptdevice=/dev/sda1:ABC root=/dev/mapper/ABC
Run Code Online (Sandbox Code Playgroud)

我知道我也可以使用 UUID 代替/dev/sda1. 在这种情况下,内核选项行将如下所示:

options        rw cryptdevice=UUID=1f5cce52-8299-9221-b2fc-19cebc959f51:ABC root=/dev/mapper/ABC
Run Code Online (Sandbox Code Playgroud)

但是,我可以使用分区标签、卷标签或任何其他类型的标签吗?如果是这样,语法是什么?

kernel dm-crypt luks systemd-boot

5
推荐指数
1
解决办法
8201
查看次数

你如何删除systemd-boot?

今天我安装了 Fedora 和 rEFInd,但是我旧的 arch 安装中 systemd-boot 的旧引导选项仍然存在。如何安全地删除这些旧组件或至少隐藏旧条目?

refind systemd-boot

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