- 由于 ubuntu 是开源类型操作系统,所以我想知道在哪里可以找到ubuntu 操作系统特定于安装 ubuntu 操作系统时运行的安装代码的所有代码。
- 如果您还讲述使用的语言和安装的实际执行过程,这将非常有帮助。
- 如果指定的参考链接也与答案链接,则很有帮助
- 我需要它来实现我的想法,因此需要可以使用编辑器进行编辑的原始代码。
我在将旧版本 20.04 更新到 22.04 时遇到一些问题。初次更新后,我的内核仍为 5.4.0-174。
我的系统正在启动,但并非一切正常。我已经使用命令 apt-get install linux-image-generic-hwe-22.04 升级了内核
升级后看起来系统已经启动了。但过了一会儿,屏幕变得空白,并出现光标。你不能再做任何事情了。
使用 shift、alt、F2 打开另一个终端,然后重新启动到安全模式。从安全模式我可以进入正常启动。
我尝试过 sudo apt install --reinstall ubuntu-desktop 但这并没有解决问题。
在传递的消息中,我看到 Grub 启动检测失败。
有什么帮助吗?
我在 Raspberry Pi 上运行 Ubuntu 22.04(Jammy Jellyfish,ARM64)。对 Pi 的 SSD 进行映像后,我对驱动器重新分区,并将 /var 的内容镜像到新分区(已验证),将原始 /var 重命名为 /var.old,然后创建一个新的空 /var 目录用作挂载点。对 fstab 进行了适当的更改,在多次重新启动到 SSD 的 Ubuntu 后,一切都完全按预期工作。之后,我使用 microSD 卡启动 Pi 并安装 /dev/sda2(SSD 上 Ubuntu 的根目录),以在 SSD 的空 /var 下找到已填充的 fontconfig 目录。这让我相信,在挂载根之后不久,但在 var 的预期分区之前,某些东西(可能是脚本或 systemd)正在写入挂载点目录。请注意,最终安装在 /var 的分区也有自己的 fontconfig 目录,该目录的内容与空安装点文件夹的内容不同。总的来说,我对 Linux 有点陌生,不知道从哪里开始寻找。搜索引擎没有返回任何有用的内容。据我了解,为 /var 分配一个专用分区是 Linux 中非常标准的配置。我的问题:有没有办法确保在安装定制分区之前没有任何内容写入 /var ?提前致谢。据我了解,为 /var 分配一个专用分区是 Linux 中非常标准的配置。我的问题:有没有办法确保在安装定制分区之前没有任何内容写入 /var ?提前致谢。据我了解,为 /var 分配一个专用分区是 Linux 中非常标准的配置。我的问题:有没有办法确保在安装定制分区之前没有任何内容写入 /var ?提前致谢。
前言
从技术上讲,这不是Ubuntu 特定的问题,但我怀疑这对于 Ubuntu 用户来说是一个有效的问题。
实际问题
如果非 Ubuntu 操作系统位于与 Ubuntu 不同的物理驱动器上,那么通过 grub 启动非 Ubuntu 操作系统真的值得吗?
语境
设置
我的设置看起来(或者更确切地说看起来)如下:
- 台式电脑
- SATA 混合 SSD 上的 Ubuntu
- M2 SSD 上的 Windows 10
- 我通过 grub2 从 Ubuntu 所在的混合 SSD 启动(编辑)Ubuntu 和 Windows 10,在专用启动分区中
- 一切 EFI(如果相关)
由于市场主导地位,我使用 Windows 来处理那些只能使用 Windows 的事情,而使用 Ubuntu 来处理其他所有事情。
背景
几天前,我的 Ubuntu 所在的 SATA 混合 SSD 驱动器遭遇了灾难性故障,变得完全无法使用。
(注:事后看来,这是注定会发生的 - 2021 年臭名昭著的三星 EVO 870 之一......)
我很快意识到我什至无法启动 Windows,因为驱动器刚刚消失,BIOS 不知道如何从 Windows 所在的驱动器启动。
详细问题
经过 2 天的紧张购买新硬盘、重新安装和设置一切(还没有结束),我开始想知道通过 grub 启动 Windows 或任何非 Ubuntu 操作系统的实际优势是什么,位于 Ubuntu 所在的驱动器上。
另一种方法是,在启动计算机时进入 BIOS 设置来选择从哪个驱动器启动。
如果我没有使用 grub 并在各自的驱动器上启动每个操作系统,我仍然可以使用 Windows,而无需重新安装它。
我唯一能想到的是方便 - 导航 grub 菜单比在 BIOS 中移动驱动器启动优先级更容易。
但是,我可能缺少一些技术知识,这些技术使得从同一驱动器和分区引导不同操作系统成为必要,无论这些操作系统位于不同的物理驱动器中。
这就是我想更好地理解的,以便对我正在痛苦地重建的设置做出明智的决定。
现在为了深入了解另一个线程中提到的问题,我决定重新安装 20.04。为了不从一开始就产生问题,我让安装程序按照自己的意愿使用整张光盘。
然后它给我留下了三个分区:sda1,/boot/efi 中的 537MB;sda2,240GB 格式扩展且未安装;和sda5,240GB,格式Linux并安装在“/”。
第一个问题,这是通常的做法吗?我的光盘即使有 500GB 也被命名为“240GB 光盘”。我可以挂载和访问 sda2 吗?它有什么特殊的用途吗?
谢谢你的帮助。我害怕以愚蠢的方式设置这台机器。
Festplatte /dev/loop0: 4 KiB, 4096 Bytes, 8 Sektoren
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Festplatte /dev/loop1: 61,98 MiB, 64966656 Bytes, 126888 Sektoren
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Festplatte /dev/loop2: 346,3 MiB, 363118592 Bytes, 709216 Sektoren
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Festplatte /dev/loop3: 91,7 MiB, 96141312 Bytes, 187776 Sektoren
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Festplatte /dev/loop4: 54,24 MiB, 56872960 Bytes, 111080 Sektoren
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Festplatte /dev/loop5: 46,98 MiB, 49242112 Bytes, 96176 Sektoren
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Festplatte /dev/sda: 223,58 GiB, 240057409536 Bytes, 468862128 Sektoren
Festplattenmodell: CT240BX500SSD1
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Festplattenbezeichnungstyp: dos
Festplattenbezeichner: 0x853c4b3c
Gerät Boot Anfang Ende Sektoren Größe Kn Typ
/dev/sda1 * 2048 1050623 1048576 512M b W95 FAT32
/dev/sda2 1052670 468860927 467808258 223,1G 5 Erweiterte
/dev/sda5 1052672 468860927 467808256 223,1G 83 Linux
我有一个原始磁盘文件,如下所示
$fdisk -l Monterey.img
Disk Monterey.img: 14 GiB, 15032385536 bytes, 29360128 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: B0853EBC-902A-41B6-8BEB-C533A09C0376
Device Start End Sectors Size Type
Monterey.img1 40 409639 409600 200M EFI System
Monterey.img2 409640 29097943 28688304 13,7G Apple HFS/HFS+
它有 2 个分区,第一个用于 EFI (200MB),第二个用于 MacOS 安装程序数据
我有一个 SSD 磁盘(GUIID 类型格式化)
~$ lsblk
sda 8:0 0 447,1G 0 disk
├─sda1 8:1 0 190M 0 part
├─sda2 8:2 0 152,6G 0 part /mnt/sda2
├─sda3 8:3 0 96M 0 part
├─sda4 8:4 0 9,6G 0 part
├─sda5 8:5 0 15,5G 0 part
├─sda6 8:6 0 15,5G 0 part
├─sda7 8:7 0 156,3G 0 part
└─sda8 8:8 0 97G 0 part /media/minh/M2
我想将 Monterey.img 的第二个分区克隆到 sda6(内部 SSD 的物理分区),
我尝试过
$sudo dd if=Monterey.img of=/dev/sda6
29360128+0 records in
29360128+0 records out
15032385536 bytes (15 GB, 14 GiB) copied, 253,909 s, 59,2 MB/s
但结果报告未知类型,而其他 HFS+ 分区是可见且可访问的。
如果源磁盘文件类型为DMG,则可以通过DMG2IMG命令克隆,如下所示:
$sudo dmg2img -p 2 BaseSystem.dmg /dev/sda6
对于原始 img 类型,我该如何做到这一点?
我有一台机器被忽视了一段时间,最终得到了一个完整的磁盘和完整的启动分区。那时任何apt
命令都不起作用,因为没有空间。
在我们开始之前,该服务器运行一个最小的 MySQL 数据库——并且/var/log/
当时的位置为14MB
,并且/var/mail/
曾经的位置为18kb
。我也尝试运行apt clean
-apt autoclean
磁盘仍然满了.. 在谷歌搜索和谷歌搜索之后.. 每一篇文章都说只需运行apt clean
(当然)我决定尝试将事情掌握在自己手中,我FAFO。
所以我跑了uname -r
,结果出来了
4.4.0-119-generic
所以我进入启动驱动器并删除了所有不存在的东西4.4.0-119-generic
。这一直是我过去会尝试的方法,它通常足够清晰,让我可以运行 a apt install -f
,apt autoremove
然后update-grub
- 通常之后都是 gtg。
我的问题是硬盘上没有足够的空间来运行任何apt install
或- 所以我在和 中apt autoremove
做了同样的事情/usr/src/
lib/modules/
回顾一下我清除了“未使用”内核的usr/src
和。lib/modules
我相信这就是我搞砸的地方。现在当我尝试跑步时apt install -f
我得到
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 158 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up linux-image-4.4.0-208-generic (4.4.0-208.240) ...
depmod: ERROR: could not open directory /lib/modules/4.4.0-208-generic: No such file or directory
depmod: FATAL: could not search modules: No such file or directory
dpkg: error processing package linux-image-4.4.0-208-generic (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
linux-image-4.4.0-208-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)
我看到了错误的根源(这提醒我注意我的错误)
depmod: ERROR: could not open directory /lib/modules/4.4.0-208-generic: No such file or directory
我也尝试运行sudo apt --fix-broken install
- 同样的错误 - 无济于事。
我能做些什么来解决这个我陷入困境的看似可怕的难题呢?
你好,我正在尝试制作一个 ubuntu 22.04 自动安装 USB
20.04 启动正常,但我无法启动 22.04。
我在无头无键盘服务器上运行这个程序,因为我的猫咬断了我的键盘电缆
在 grub 中,我现在已经将行更改为很多内容
linux /casper/vmlinuz quiet autoinstall ds=nocloud\;s=/cdrom/nocloud/ ---
linux /casper/vmlinuz quiet autoinstall ---
linux /casper/vmlinuz quiet autoinstall ds=nocloud;s=/cdrom/nocloud/ ---
linux /casper/vmlinuz autoinstall quiet ---
我的用户数据文件是
#cloud-config
autoinstall:
version: 1
identity:
hostname: ubuntusrv
password: "REDACTED"
username: REDACTED
ssh:
install-server: yes
authorized-keys:
- "ssh-rsa REDACTED"
allow-pw: no
我做错了什么吗?
iso命令是
xorriso -as mkisofs -r -V "ubuntu-22-04-autoinstall" -J -boot-load-size 4 -boot-info-table -input-charset utf-8 -eltorito-alt-boot -b bootpart/eltorito_img1_bios .img -no-emul-boot -o ../installer22.04.iso 。
在此先感谢您的希望。我已经尝试这个好几天了
编辑...
所以我设法让安装程序运行,但现在它似乎忽略了 grub.cfg。它忽略超时和额外的菜单项。
我正在 PXE 引导 Ubuntu 22.04 安装。对于 grub 映像,我使用的是此处的映像。
根据文档:
GRUB will search for its configuration files in order using the following rules where the appended value corresponds to a value on the client machine.
‘(FWPATH)’/grub.cfg-‘(UUID OF MACHINE)’
‘(FWPATH)’/grub.cfg-‘(MAC ADDRESS OF NIC)’
‘(FWPATH)’/grub.cfg-‘(IPv4 OR IPv6 ADDRESS)’
‘(FWPATH)’/grub.cfg
但是,除了以下内容之外,没有任何 TFTP 请求grub.cfg
:
in.tftpd[7037]: RRQ from 10.128.128.13 filename boot/tree/EFI/boot/bootx64.efi
in.tftpd[7038]: RRQ from 10.128.128.13 filename boot/tree/EFI/boot/grubx64.efi
in.tftpd[7040]: RRQ from 10.128.128.13 filename /grub/x86_64-efi/command.lst
in.tftpd[7041]: RRQ from 10.128.128.13 filename /grub/x86_64-efi/fs.lst
in.tftpd[7042]: RRQ from 10.128.128.13 filename /grub/x86_64-efi/crypto.lst
in.tftpd[7043]: RRQ from 10.128.128.13 filename /grub/x86_64-efi/terminal.lst
in.tftpd[7044]: RRQ from 10.128.128.13 filename /grub/grub.cfg
in.tftpd[7045]: RRQ from 10.128.128.13 filename /grub/fonts/unicode.pf2
我的问题是:如何让 grub 根据(例如)MAC 地址加载不同的配置文件?
[ 编辑添加一些细节:
- 是的,我确实创建了一个名为 的文件
grub.cfg-00-0a-11-22-33-44
,但它从未被下载/访问 - 我确实阅读了文档中有关的部分
feature_net_search_cfg
,但我不知道如何确定我的 grub 映像的设置值]