标签: boot

如何在允许试验系统时间更改的同时避免“手动运行 fsck”消息?

我正在使用一个系统,我们希望允许用户根据需要随意调整日期和时间,并且可以随意重新启动。这很好,除了一件事:如果向后跳的时间很长,重新启动时会出现以下错误:

Checking filesystems
IMAGE2: Superblock last mount time (Tue Mar  1 17:32:48 2011,
        now = Thu Feb 24 17:34:29 2011) is in the future.

IMAGE2: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
        (i.e., without -a or -p options)

*** An error occurred during the file system check.
*** Dropping you to a shell; the system will reboot
*** when you leave the shell.
Run Code Online (Sandbox Code Playgroud)

...然后引导挂起等待用户控制台输入,即使获得控制台访问权限,也需要 root 密码才能继续。

这显然不太理想。有没有办法跳过检查或强制检查在重新启动时自动发生?

谷歌只提供了需要手动运行 fsck 的帮助,如果/当它被击中时,这不是我所追求的。设置时间后手动运行 fsck 不起作用,因为此时文件系统仍处于挂载状态,并且完全禁用 fsck 不太理想。

我正在使用红帽 6。

更新:我目前使用的解决方案是破解 fstab 以禁用重新启动时的 fsck 检查。我曾尝试使用 …

boot rhel date fsck

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

如何在启动时通过脚本设置全局环境变量,并使它们可用于登录前运行的应用程序?

我有一个在启动时运行的服务,在该服务中,它在后台调用一个 bash 脚本来导出一些环境变量。我遇到的问题是这些环境变量没有被发送到后台进程的父进程,所以一旦我的脚本执行完毕,它们就消失了。

此外,在脚本运行后,服务会调用另一个脚本来启动我拥有的应用程序。此应用程序需要访问这些环境变量。

我运行它的 RHEL 系统意味着用户永远不会登录,它只会启动并启动应用程序。我知道父进程/shell 的环境变量并不能真正由子后台进程 shell 设置。

我需要一种方法来通过我的服务调用的脚本(虽然不一定在后台)来做到这一点,而不是将它们添加到我的服务中(这对我来说也不起作用),而不是将它们存储在一个/etc/environment.profile或任何类似的东西。

在我的服务中,我尝试添加环境变量(虽然不是我想做的):

    export TEST=192.168.1.1
Run Code Online (Sandbox Code Playgroud)

我也在我的服务中尝试过这个:

    TEST=192.168.1.1
    export TEST=${TEST}
Run Code Online (Sandbox Code Playgroud)

我尝试更改我的服务调用 bash 脚本的方式:

    /bin/asdf/script &
Run Code Online (Sandbox Code Playgroud)

我也试过采购的脚本,使其在同一个外壳(这是我从运行了):

    . ./bin/asdf/script
    #I'm very confused why this didn't work
Run Code Online (Sandbox Code Playgroud)

我还发现看起来很有趣,但在我的情况下并没有真正成功。

boot rhel shell-script environment-variables

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

GRUB2 和内核 vga= 参数

根据文档,vga=从 GRUB2 开始不推荐使用内核参数。某些较新的内核似乎不再在某些适配器上支持它这一事实无关紧要,因为我拥有的显卡已有七到八年的历史了。

现在的问题是我想使用更高分辨率的文本模式,例如 80x50 而不是默认的 80x25 字符。显然,该显卡 (ATI Rage XL) 的所有图形 (VBE/VESA) 模式都不存在 - 可用模式列表仅0通过6. 680x60但看起来很可怕,所以我想用1(80x50)。

在获取可用模式列表后,我已经看到 80x50 和 80x60 在不支持默认模式(默认已注释掉GRUB_TERMINAL=console)并且提示我选择时工作。

如果我不应该在内核命令行上设置模式并且每次使用GRUB_GFXMODE(有或没有预加载vbe模块)并且GRUB_GFXPAYLOAD_LINUX=keep失败,我该如何设置模式?失败:屏幕保持空白,因为它是我在这台机器上使用的卡的无效图形模式?

我的想法是nomodeset仍然传递给内核,但是引导加载程序仍然必须设置图形模式。除了vga=内核参数之外,我看不到任何其他选项。

注意: GRUB2 控制台上的vbetestvideotest命令会使屏幕变黑,然后在声称没有视频输入后屏幕会切换到睡眠模式。vbeinfovideoinfo显示除上述以外的一些可用模式,但没有提到应该在哪里设置。此外,当在内核命令行上传递vga=1(没有nomodeset)时,我看到一个关于它被弃用的非常简短的警告,但它太长而无法完全阅读 - 并且输出没有出现在dmesg.

boot parameter grub2 linux-kernel

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

GRUB 安静的飞溅

作为Linux新手,我想知道GRUB中“Quiet Splash”的意义究竟是什么?

 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
Run Code Online (Sandbox Code Playgroud)

grub boot bootsplash

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

禁用在内核中编译的内核模块(未加载)

我的服务器有两个 1-Gbit 和两个 10-Gbit 板载网卡。

我需要完全禁用 1-Gbit 网卡,以便ifconfig -a不显示它们。

网卡使用不同的内核模块。10-Gbit 使用ixgbe,1-Gbit 使用igb

01:00.1 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01)
Subsystem: Dell Ethernet 10G 4P X520/I350 rNDC
Kernel driver in use: ixgbe

05:00.1 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
Subsystem: Dell I350 Gigabit Network Connection
Kernel driver in use: igb 
Run Code Online (Sandbox Code Playgroud)

双方ixgbeigb在内核中(而不是作为一个可加载模块)静态编译。我需要使用内核启动参数禁用该模块。

我曾尝试将以下内容附加到我的内核中,但没有效果:

igb.blacklist=yes
igb.enable=0
igb.disable=yes
Run Code Online (Sandbox Code Playgroud)

igb 网卡还在显示

如何完全禁用 igb?

boot kernel linux-kernel

18
推荐指数
1
解决办法
3850
查看次数

不关机重启?

我一直在使用 Linux Mint Debian 和 Debian 不稳定,并注意到当我按下重新启动时,而不是一路回到 BIOS,然后 grub,然后启动,我似乎正在关闭然后重新加载而不返回BIOS 或 GRUB。

这是我以前从未见过的惊人功能。这叫什么,什么时候发生的?我已经是 Ubuntu 的用户很长时间了。

boot kernel debian linux-mint

17
推荐指数
1
解决办法
1445
查看次数

如何提取boot.img?

我正在尝试boot.img从 Android 图像查看文件中的内容。

我用谷歌搜索并发现这篇文章可以提取system.img,但它不适用于boot.img. 尝试为 执行此操作时boot.img,它显示以下内容:

Invalid sparse file format at header magi
Failed to read sparse file
Run Code Online (Sandbox Code Playgroud)

simg2img仅用于提取system.img

  1. 如果是这样,还有其他方法可以提取boot.img吗?
  2. 如果没有,不提取有boot.img什么问题?

filesystems boot android

17
推荐指数
3
解决办法
8万
查看次数

错误地删除了 /boot 文件夹并重新启动

我错误地从我的文件系统中删除了 /boot 文件夹,重新启动,我现在得到的是:

error: file '/boot/grub/i368-pc/linux.mod' not found.

grub rescue>
Run Code Online (Sandbox Code Playgroud)

boot grub2

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

Debian stretch 无法加载固件 rtl_nic/rtl8168g-3.fw (-2)

Debian stretch在启动过程中 收到此错误

[ 26.390311] r8169 0000:03:00.0: firmware: failed to load rtl_nic/rtl8168g-3.fw (-2)
Run Code Online (Sandbox Code Playgroud)

之后我继续启动并且工作正常。是否缺少任何固件或驱动程序?

boot debian firmware

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

如何在没有分区表的情况下将 GRUB 安装到整个 ext4 磁盘?

目前我将整个磁盘/dev/sda格式化为 ext4,并安装了 Gentoo。

(没有MBR,根本没有分区。)

但最后,我无法在其上安装 GRUB,因为似乎 GRUB 需要写入 MBR。

# grub-install /dev/sda
Unknown partition table signature
Unknown partition table signature
Unknown partition table signature
Unknown partition table signature
Unknown partition table signature
The file /boot/grub/stage1 not read correctly. 
Run Code Online (Sandbox Code Playgroud)

两者都grub不起作用,

# grub
grub> root (hd0)
 Filesystem type unknown, using whole disk

grub> setup (hd0)
 Error 17: Cannot mount selected partition
Run Code Online (Sandbox Code Playgroud)

有什么办法可以在没有 MBR 的情况下将 GRUB 安装到 /dev/sda 中?

PS/boot目录和grub.conf文件:

# tree /boot 
/boot
|-- …
Run Code Online (Sandbox Code Playgroud)

boot grub-legacy

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