ATA-ATAPI CDROM 是一种非常古老和复杂的技术,与闪存芯片不同。使用 isos 总是有点痛苦,需要覆盖安装介质或一些驱动器模拟技术。我想学习技术并转向便利。
之前我做过类似的事情:我只是尝试以某种方式将 iso 内容写入 USB 驱动器。几乎总是这样生成安装 USB 介质,但驱动器内容被删除了。所以现在我只想将操作系统安装程序“添加”到 USB 驱动器。
Stick 安装了 syslinux,以及一些有用的东西,这些东西是严格禁止删除的。对于 Debian,我寻找了“net-boot” 安装程序我认为这是一种安装程序,通常通过 BOOTP/TFTP 下载其自身vmlinuz
和initrd
图像,并通过互联网(使用 wget 或其他方式)下载其他所有内容。
pxelinux 和 syslinux 之间没有太大区别,所以我很高兴我可以“如此轻松地”添加 Debian 安装程序,而无需删除所有数据。我下载了这两个,但遇到了错误:“安装步骤失败:从安装程序 ISO 加载安装程序组件”
我不知所措,不知道下一步该做什么。如果我已经找到方法并将内核和 debian 安装程序加载到 RAM,为什么还需要 iso?安装程序可以从互联网镜像中下载所有内容吗?(就像以前通常做的那样)。
严格来说,我的问题是:
为了将最小的 Debian 系统安装到 SATA 驱动器,USB 驱动器上需要有哪些最小文件子集?
附言:
- x64 PC 仅能从 USB 2.0 启动,并配有 SATA 驱动器和可用的互联网连接。无法从网络启动,也无法使用光盘/任何其他启动媒体。
- USB 驱动器格式为 FAT32
- usb 棒引导加载程序是 SYSLINUX(禁止使用任何其他引导加载程序)。
- 所需的文件只能手动复制(没有自动化工具来创建便携式安装,没有“将 iso 映像写入 usb”)
- 配置调整后,系统就可以顺利从互联网安装到硬盘上。
- 从 USB 删除任何单个文件都必定会导致安装破坏。
答案1
您很难找到答案,因为您的要求并不常见;如今大多数人不喜欢/不想从 U 盘启动,而是更喜欢简单的 PXE 服务器方法(即 Serva);与仅仅使用 U 盘相比,它速度更快,并且允许以更简单的方式处理多资产安装场景。
至于您最后提到的要求,它们根本就无法同时满足。
但是如果你想安装 Debian,只需从 USB 启动一个最小内核,其余部分从互联网启动,那么你的答案是网络安装CD 映像(通常为 150-300 MB,因架构而异)。使用 ie 将相应的 ISO 移动到您的 pendrive鲁弗斯并在目标电脑上启动它。
如果你对安装启动过程感到好奇,它就像启动内核一样,然后核心加载初始化文件包含在里面在 Debian 中,脚本最终会加载德布康夫(Debian 安装程序)。 德布康夫负责通过解析从以下位置收到的一系列安装命令来执行所有 Debian 安装过程:
- 启动时内核命令行,
- 自动化预播种文件,或
- 用户手动输入。
如果是网络安装,debconf(以及其他数据)肯定需要 Debian 组件所在的有效 Debian 存储库的 IP/URL。
debconf 将完成已安装的 Debian 系统的工作。
注意:问题中的屏幕截图显示 debconf 正在运行,在这种情况下显示安装错误消息。
Debian 衍生版本(Ubuntu、MInt 等)使用几乎相同的安装系统。非 Debian 发行版及其衍生版本(RHEL、Fedora、SuSEE 等)使用不同但相似的安装系统。
答案2
对于 Debian,您实际上只需要netboot
内核和 initrd 文件,因为当前的 Debian 安装程序是模块化的:initrd 文件包含第一部分,它将直接从 Debian 存储库加载其余部分。当然还有 SYSLINUX 或能够加载它们的其他引导加载程序。
netboot initramfs 文件有两个版本:initrd-gtk.gz
包含新的图形安装程序,而initrd.gz
包含文本模式安装程序。选择其中一个。
您遇到的“从安装程序 ISO 加载安装程序组件”步骤失败的问题表明存在以下情况之一:
- 也许您没有授予安装程序连接网络的权限,因此它尝试查找本地安装媒体?(如果可能的话,Debian 安装程序将始终优先从 Debian 存储库加载最新的数据包。)
- 也许安装程序无法检测到你的网卡?(从以下网址获取最新版本的官方网络启动安装程序内核和 initramfs 软件包这里而不是使用 ISO 映像中可能较旧的版本)
- 或者您的 NIC 需要固件,而固件是非自由软件组件,因此 Debian 会以某种方式处理它。(从
non-free
Debian 存储库部分下载必要的固件包,并将它们放在/firmware
USB 棒的根目录或子目录中,应该可以解决该问题。)
请记住,Debian 遵循在其他虚拟控制台上提供安装程序日志和根 shell 的通用约定,因此当您看到所描绘的错误消息时,您可以按下ControlAltF2并激活 shell 提示符,以便您可以使用诸如 和 之类的命令ip link show
来lsmod
查看lspci
您的 NIC 是否被成功检测到。
答案3
昨天我不得不快速安装 Debian,而且只有多余的扩展分区空间,但我能够使用 GRML 作为工作空间,我已经将其安装在驱动器的一个小主分区上。但它也可以从 CD 启动……或者作为黑客程序,只需将其闪现到驱动器的开头,然后在运行时使用 Debian 安装程序进行重新分区……
... 为了安装 debian-10.9.0-amd64,我获取了第一个 DVD 映像(debian-10.9.0-amd64-DVD1.iso)并将其直接复制到我在同一驱动器上的扩展分区末尾创建的逻辑分区中:
cat debian-10.9.0-amd64-DVD1.iso > /dev/sda7
...然后我重新启动了 GRML 并从 GRUB 菜单中选择编辑启动命令,并执行了此命令(确定 iso 映像写在(hd0,msdos7)后):
set root=(hd0,msdos7)
linux /install.amd/vmlinuz
initrd /install.amd/initrd.gz
...然后按 f10 启动它...并且安装程序运行良好,只有一个问题,所以最终发现我需要在安装程序中删除到 shell,然后手动执行:
umount /cdrom
mount /dev/sda7 /cdrom
exit
...然后返回安装程序步骤,并完成安装
我想这与上面的答案类似,但可能更简单,一旦你有了一些环境/操作系统打开进行复制,并访问 grub 启动...
(此外,我认为我使用的版本比您使用的要新得多)
...但我不明白为什么它不能适用于较小的图像,然后它将从您为安装程序提供的任何网络获取所需的文件