标签: boot

initramfs systemd 服务的内省 - 如何?

背景

  • 我正在运行 ArchLinux,使用 systemd 二进制文件启动必要的服务作为 initramfs 的一部分(root fs 解密、挂载等)。
  • 我想检查一下作为这个阶段的一部分启动了哪些 systemd 单元,以及何时启动。
  • systemd-analyze plot 只显示切换根发生后所有单元的时间图。
  • 交换机根单元(定义为 initrd 引导序列中的最后一个单元)状态:

    [Service]
    # ...
    ExecStart=/usr/bin/systemctl --no-block --force switch-root /sysroot
    # ...
    
    Run Code Online (Sandbox Code Playgroud)
  • switch-root 系统命令上的 systemctl 手册页有这样的说法:

    switch-root ROOT [初始化]

    切换到不同的根目录并在其下执行一个新的系统管理器进程。这旨在用于初始 RAM 磁盘(“initrd”),并将从 initrd 的系统管理器进程(又名“init”进程)过渡到从实际主机卷加载的主系统管理器进程。此调用需要两个参数:将成为新根目录的目录,以及在其下作为 PID 1 执行的新系统管理器二进制文件的路径。如果省略后者或空字符串,将自动搜索 systemd 二进制文件用于并用作初始化。如果省略系统管理器路径,等于空字符串或与 systemd 二进制文件的路径相同,则 initrd 的系统管理器进程的状态将传递给主系统管理器,这允许稍后对所涉及服务的状态进行自省在 initrd 启动阶段。

    然后在 initrds 问题上保持沉默......

启动后,我如何内省 initrd 启动阶段所涉及的服务状态,如上面推断的那样,或者发现什至运行了哪些单元(因为有些是动态生成的)?

linux boot arch-linux initramfs systemd

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

为什么服务器通常启动速度这么慢?

为什么服务器一般启动速度这么慢?

如果其中有 1-2 TByte RAM,则冷启动服务器可能需要 10-20-30-40 分钟。这是为什么呢?平均来说记忆不是非常快吗?为什么“测试”(?)需要这么多时间?

hardware boot

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

在 Ubuntu 引导上的 zpool 导入之前等待

我已经使用 ZFS 在 Dell PowerEdge R720xd 上安装了 Ubuntu 18.04。ZFSmirror配置中有两个 1TB 引导驱动器。我按照Linux Wiki 上ZFS 中的说明进行操作。

(注意:我的系统使用的是 LSI LSI00244 (9201-16i) 主机总线适配器 (HBA) 而不是板载 RAID 卡,因为 ZFS 和这个 RAID 卡不兼容。)

启动 Ubuntu 时,系统枚举驱动器大约需要 10 秒钟(有 14 个驱动器 - 两个用于操作系统,12 个用于稍后将在其他 zpool 中设置的数据存储)。但是,引导过程会在枚举驱动器之前尝试导入引导池。

BusyBox 错误消息在屏幕上闪过,它基本上说:

池导入失败。

在此 BusyBox shell 中手动导入池,然后键入exit以继续引导过程。

如果我在该消息后等待几秒钟,我会看到列出了 14 个驱动器。

zpool import rpool在 BusyBox 提示符下输入,它可以工作(用 确认zpool list),然后exit继续启动过程。(这会导致我的下一个问题,内核崩溃,但这是一个单独的问题。)

我尝试添加rootdelay=15启动选项,但这似乎不起作用,因为它似乎想在 ZFS 池导入运行该延迟。

在尝试导入池之前,如何让引导过程等待设备出现?

ubuntu zfs boot zfsonlinux ubuntu-18.04

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

如何启动更快?

我的 WinXP 计算机需要 10 分钟才能进入可用状态。如果我将其留在登录屏幕上,大部分活动都会停止,所以我认为这是一些系统级别(而不是用户级别)程序。

是否有程序可以告诉我正在加载哪些驱动程序/程序?

奖励:是否有一个程序可以显示每个程序占用的时间/资源量?

windows-xp boot

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

Linux/Windows 双启动

我有一个运行 Ubuntu 9 的系统,并希望在双引导配置中安装 Windows 7 RC。有没有办法让 Windows 与 grub 一起玩得很好,或者我将不得不再次安装 Ubuntu 只是为了让它的引导加载程序保持控制。

linux windows grub boot

5
推荐指数
2
解决办法
497
查看次数

如何制作 WinXP 可启动 USB 驱动器?

如何制作 WinXP 可启动 USB 驱动器?

我在这里看到了一堆关于 ServerFault 的说明,但它们是特定于 Vista 或 Linux 的,所以再次 - 我使用的是WinXP。我也试过 unetbootin,但这不适用于 Windows

installation windows-xp operating-system usb boot

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

如何从引导 CD 获取许可证密钥?

我们最近购买了一台使用了一段时间的服务器,但没有关联的软件、登录名等。我们尝试清空管理员帐户密码,但没有奏效。我们还尝试对密码进行一些更深入的编辑,但也无济于事。

现在我要做的是使用服务器上现有的注册表项重新安装 Windows。我读到您可以访问注册表中的产品密钥,并且使用密码工具(Linux 引导光盘)我们可以查看注册表。当我尝试这个时,我得到了 ProductId(Windows 的哪个版本),而不是注册表项。

我试图在 Windows Server 2003 R2 中读取的操作系统。

windows-server-2003 licensing boot

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

Superblock上次挂载时间在未来

昨天,我遇到了一个令人困惑的问题。在启动过程中,系统抱怨超级块上次挂载时间在未来,并要求我 fsck。我用了几个月的Debian Squeeze,第一次遇到这个问题。我想知道这是否是 UTC 的问题。

我用谷歌搜索但没有发现任何对我有指导意义的东西。

linux debian time fsck boot

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

如果客户端启动时 NFS 服务器关闭,则让 NFS 客户端重试挂载

我有一个 NFS 服务器,可以安装多个客户端。我/etc/exports在服务器上使用以下内容:

/content                *(rw,no_root_squash)
Run Code Online (Sandbox Code Playgroud)

在我的客户上,我/etc/fstab有:

content.prd.domain.tld:/content /content         nfs     rw,hard,intr    0 0
Run Code Online (Sandbox Code Playgroud)

如果客户端在 NFS 服务器关闭时启动,则不会挂载共享。我在 NFS 手册页中读到重试默认值应该处理这个:

retry=n 放弃前在前台或后台重试 NFS 挂载操作的分钟数。前台安装的默认值为 2 分钟。后台挂载的默认值是 10000 分钟,大约是一周。

我已经测试过这个,但它似乎不起作用。我错过了什么吗?

所有服务器都是 RHEL 5.4。

干杯 z0mbix

redhat nfs mount boot

5
推荐指数
2
解决办法
5901
查看次数

如何在 Ubuntu 10.04 上重定向内核控制台输出

当我重新启动我的 Ubuntu 10.04 节点时,我希望能够在使用 LAN 串行模式 (ttyS0) 连接到 IPMI 接口时看到内核启动消息。我需要做什么才能将这些消息重定向到 ttyS0?

理想情况下,当我将显示器直接插入盒子时,我希望它们仍然出现在通常的位置(tty0,我认为)。

ubuntu ipmi grub boot ubuntu-10.04

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