我有一个应用程序,我需要在其中启动到 Linux,执行自动化脚本,然后自动启动到 Windows。我可以使用 Kexec 来运行 grub 吗?
另一个用例是启动 Linux 内核以更新处理器微代码,然后kexec
启动 GRUB 或 Syslinux 以启动 Windows——因为微代码在完全重启后将无法生存。
我听说过grub4dos
(链接(不可用),存档版本),但它似乎已停产,那么有没有办法用 GRUB2 做到这一点?
我基本上需要一个可加载的 GRUB 映像kexec
。我试图加载在这个解释中找到的图像,但它们似乎不起作用。感谢您的任何提示。
注意:在 2014 年发现这篇文章,它说这尚未在 kexec 中实现。
我最近从 Fedora 23 升级到 25,这似乎破坏了我的显示管理器配置。
我正在使用 lightdm 并且只需点击就能够在运行lightdm的3 个 GUI 之间切换ctrl+alt+Fn
,n 是 tty 的数量。这会在我配置的每个 tty 上自动启动 lightdm。
升级后,lightdm 彻底坏了。我设法得到它通过修改配置和更改弄好,我认为这是[DefaultSeats]
对[Seat:*]
。现在它正在运行,但仅在具有确切minimum-vt
编号的 tty 上运行。因此,如果我设置minimum-vt=7,
例如它只会在 tty7 上运行;其他人不再自动启动。在 tty8-12 上,我只看到一个闪烁的下划线,并且 lightdm 在运行时不会根据日志对切换做出反应lightdm -d
。tty1-6 是普通的控制台 tty。
输出lightdm --show-config
(包含所有配置并显示最终用于启动 lightdm 的配置):
[LightDM]
minimum-vt=7
user-authority-in-system-dir=true
seats=seat0, seat1, seat2
minimum-display-number=0
[Seat:*]
session-wrapper=/etc/X11/xinit/Xsession
xserver-command=X -background none
greeter-session=lightdm-gtk-greeter
[Seat:seat0]
vt=7
[Seat:seat1]
vt=8
[Seat:seat2]
vt=8
Run Code Online (Sandbox Code Playgroud)
不幸的是,我找不到关于该vt=
选项的任何文档,但它在 Fedora 23 上运行。我在这里阅读了一些关于use-vt=
选项的内容。但这似乎是计划中的事情,尚未实施。这 …
我需要在实际启动系统之前启用 systemd 服务(用于无人值守安装目的)。因此我不能使用 systemctl。我可以使用 systemd-nspawn,但我认为它不太适合编写脚本。
我知道 systemctl 创建了一个符号链接,但这就是我所要做的,我可以在不“打扰”systemd 的情况下做到这一点吗?
这似乎有效,但你能确认吗?
ln -s /usr/lib/systemd/system/sshd.service /etc/systemd/system/multi-user.target.wants/sshd.service
Run Code Online (Sandbox Code Playgroud) 我正在使用 Fedora 30 和 KDE,并尝试将 (Zsh) 绑定autosuggest-execute
到Ctrl+Enter以方便使用。我正在努力让它发挥作用gnome-terminal
.
然而我发现在这三种情况下showkey -a
总是返回: 、+和+ 。^M
EnterCtrlEnterShiftEnter
我尝试了这个方法(Ctrl <Return> : "\\033M"
在.XCompose
),但它根本不起作用,因为 XCompose 文件没有被读取。所以我决定安装,ibus
因为它没有随我的 KDE 安装一起提供dnf groupinstall input-methods
。
运行\xc3\xacbus-setup
现在给我这个警告:
GTK+ supports to output one char only: "\\033M": ! Ctrl <Return> : "\\033M"\n
Run Code Online (Sandbox Code Playgroud)\n\n不幸的是,所有输入组合仍然归结为^M
ingnome-terminal
以及xterm
。
有没有办法区分有或没有 ibus …
我正在尝试从本地文件取消引导。我遵循了这个指南。
我的主机运行我安装的 debian:
debootstrap stable /mnt http://httpredir.debian.org/debian/
Run Code Online (Sandbox Code Playgroud)
我做了什么:
mkdir /opt/.../mymirror
apt-get install apt-move
# nano /etc/apt-move.conf
LOCALDIR=/opt/.../mymirror
DIST=stable
COPYONLY=yes
apt-move update
debootstrap stable /var/new-env file:///opt/.../mymirror
Run Code Online (Sandbox Code Playgroud)
Debootstrap 失败并显示:E: Invalid Release file, no entry for main/binary-amd64/Packages
。我还必须添加该标志,--no-check-gpg
因为 apt-move 似乎不提供签名。我很想知道如何手动添加它们。
但是,有 的条目main/binary-amd64/Packages
,但它不存在。有一个 gzip 版本,也有一个条目。我尝试解压它,但没有帮助。
我怎样才能解决这个问题?我应该使用 apt-mirror 来代替吗?感谢您的任何提示!
/opt/.../mymirror/dists/stable/main/binary-amd64/ 的内容
Packages.gz Release
Run Code Online (Sandbox Code Playgroud)
文件/opt/.../mymirror/dists/stable/Release:
Origin: APT-Move
Label: APT-Move
Suite: stable
Codename: unknown
Date: Sat, 06 May 2017 21:08:02 UTC
Architectures: amd64
Components: main
Description: unknown
MD5Sum:
f5244c43783c0f17f2a4b5752b65f11d …
Run Code Online (Sandbox Code Playgroud) 在程序的内存地址0x7fffffffeb58
处有一个值,我想找出地址的值。
有没有办法只使用命令来获取值?
我试过了,dd
但无济于事。
如果您使用在 Arch Linux 上创建一个没有主目录的用户useradd -M test
,则会在 中创建如下所示的条目/etc/passwd
:
test:x:1001:1001::/home/test:/bin/bash
Run Code Online (Sandbox Code Playgroud)
但因为/home/test
不存在,这会导致shadow.service
失败。将主目录留空会产生相同的错误。我发现一个旧线程建议使用/dev/null
,但我不确定这是否是最好的解决方案。ATM,忽略它似乎是最好的解决方案,但也许还有更好的方法。
shadow.service
归结为pwck
和grpck
:
### [...]
ExecStart=/bin/sh -c '/usr/bin/pwck -r || r=1; /usr/bin/grpck -r && exit $r
### [...]
Run Code Online (Sandbox Code Playgroud) apt ×1
arch-linux ×1
boot ×1
command ×1
command-line ×1
dd ×1
debian ×1
debootstrap ×1
fedora ×1
grub ×1
grub2 ×1
ibus ×1
input-method ×1
kexec ×1
lightdm ×1
linux ×1
memory ×1
passwd ×1
symlink ×1
systemd ×1