无忧启动论坛

标题: ventoy安装定制版linux硬盘识别错误 [打印本页]

作者: babyfenei    时间: 2021-9-24 18:00
标题: ventoy安装定制版linux硬盘识别错误
我是IDC公司苦逼运维一枚。经常需要给服务器安装客户定制好的各类linux系统,包括centos或者ubuntu等
我使用ventoy安装官方原版的centos和ubuntu、debian等系统都没有任何问题。在这里表示ventoy确实是个好东西。
但是我再使用客户定制好的带ks文件的或者自动安装的linux系统时,经常出现硬盘识别错误的问题。会把做好的ventoy U盘直接给格式化了。
想问下是否可以增加将U盘不要识别成sda的功能。

作者: longpanda    时间: 2021-9-25 08:50
本帖最后由 longpanda 于 2021-9-25 08:56 编辑

首先这个应该和Ventoy没关系,一般是定制的ks文件里面没有做判断,写死了 sda 或者是固定使用第一个盘导致的。
这样其实就是不管什么情况都把系统安装到 sda 上。
这样即使你使用虚拟光驱安装,只要插着一个U盘,不管是Ventoy的U盘还是其他工具制作的U盘,甚至是一个普通的数据U盘,都有可能会导致系统被安装到这个U盘上。
因为U盘还是本地硬盘被识别为 sda 是由Linux内核决定的,是改不了的。
甚至如果你服务器上有多个硬盘,多种RAID卡的情况下,哪个盘被识别为sda也是不固定的,甚至会出现,两次重启之后sda都会不一样的情况。

归根结底就是说 ks 文件里面不能写死,需要根据实际的环境来动态判断。比如最简单的,如果sda是个U盘,可能就要改成 sdb, 当然实际还要考虑更多情况。
例如下面这个示例 ks 文件:
  1. install

  2. lang en_US.UTF-8
  3. keyboard us
  4. rootpw  123456
  5. firewall --service=ssh
  6. authconfig --enableshadow --passalgo=sha512
  7. selinux --disable
  8. timezone --utc Asia/Shanghai

  9. eula --agreed
  10. firstboot --disable

  11. %include /tmp/partation.ks
  12. zerombr
  13. autopart --type=plain

  14. #packages configuration
  15. %packages
  16. @core
  17. %end

  18. reboot

  19. %pre

  20. if xxxx; then
  21.     disk_short_name=sda
  22. elif xxxx; then
  23.     disk_short_name=sdb
  24. elif xxxx; then
  25.     disk_short_name=nvme0n1
  26. fi

  27. echo bootloader --location=mbr --driveorder=$disk_short_name >> /tmp/partation.ks
  28. echo ignoredisk --only-use=$disk_short_name  >> /tmp/partation.ks
  29. echo clearpart --all --initlabel --drives=$disk_short_name  >> /tmp/partation.ks

  30. %end
复制代码







欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3