bin456789 / reinstall

一键DD/重装脚本 (One-click reinstall OS on VPS)
GNU General Public License v3.0
2.88k stars 478 forks source link

dmit 无法使用dd脚本了。 #77

Closed msherrys closed 4 months ago

msherrys commented 6 months ago

之前是可以的,最近发现 dd 比如 debian 机器无法正常安装,reboot 后就无法连网了,通过 vnc 看到,进到了 localhost 模式下,就没有任何动静了。

bin456789 commented 6 months ago

什么是 localhost 模式 ? 没截图我很难办啊

msherrys commented 6 months ago

123 234

我刚购买了一台新的 dmit 机器,然后尝试用 curl -O https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh && bash reinstall.sh debian 11 --ci (不带 ci 也一样) 进行安装。这个在之前都是完全可行的(不过是之前版本的脚本,不过我也尝试了,同样不行,连 locahost 模式都看不到)。执行后会重启,然后进入 安装模式,可以查看跟踪安装记录。

但最近发现执行后,初始化都正常,然后提示 reboot 。 不过就再也无法连上了。 通过 VNC 看到,就是到了 localhost 的一个命令行(如图)(这个跟之前正常情况下的安装模式下差不多,但是当时网络是完全可连的。但目前就是再也无法见到安装的一个模式)。我随意取的一个 localhost 模式就是指的这个。

然后我观察 好像获取到的 IP掩码与网关应该也是错的。/32 换个掩码是不对的,网关也是不对的,这样就算正常安装了,可能网络也不通。 当前的问题下,应该不单是获取到网络的问题。 主要是无法到安装系统的模式,就一直卡在这里。

在同样系统下,我尝试用其他 dd 脚本是可以正常安装的(其他脚本是自定义的 IP 掩码 网关,若启动获取也无法连网,但VNC查看是已经系统重安好的情况下,并不是系统都无法重装好。)

bin456789 commented 6 months ago

--ci 模式已经删除了,现在加不加都一样,都是用官方安装程序安装

显示 localhost 要么就是没进入安装程序返回到原系统,要么就是安装完成。从安装时间上就可以判断。你确定下是哪种。

之前 --ci 安装的 debian 有 networkmanager 组件,支持 /32 IP。而官方安装程序不会安装networkmanager,可能不支持 /32 IP ,不过我没机器测试

msherrys commented 6 months ago

根据时间判断应该是安装一直未完成,等了很久,通过 VNC 依然还是 localhost 而且通过 root 与 密码进去,并没有提示像之前的 有一个 tail 的命令可以看安装进度的。

根据这两点,判断应该是安装未完成,同样我用其他脚本,大概5分钟内就完成了。因为之前通过你的脚本安装,也就大概几分钟的事情,通过两次重启(第一次手动,第二次自动) 就完成了。

现在大多数机器都是 networkmanager ,然后通过你的脚本安装会变成 netplan 这个没问题的。 dmit 机器以前与现在都是一样的都是使用 networkmanager。然后重装后就使用的是 netplan 了。但可能因为当前通过自动获取到的掩码与网关都是错的。所以我想,是不是因为这个自动获取的参数不正确,导致安装中止,因为 255.255.255.255 是无法正常被填入的。这个情况在其他脚本也验证了,如果自动获取的话,安装就不会完成,需要手动指定正确的掩码,255.255.255.0 与 正确的同段网关。

所以建议下,看能否加一些参数,比如 IP 掩码 网关 还有 密码。 这样可以应付有些自动获取到非正常的参数情况。看是否还会无法安装。

bin456789 commented 6 months ago
  1. 我刚才说错了,之前用 --ci 安装,网络管理器是 netplan + networkd,而不是 networkmanager

  2. 你能输入密码登录说明已经安装完成了

msherrys commented 6 months ago

安装未完成,依然是 localhost 。

我应该描述的比较清楚了。第一次手动reboot后,就是可以进到 localhost 然后通过 tail 看安装进程的。

但这个情况是第一,进入了 localhost , 没有提示 tail 看安装进程,且过了很久只能通过 VNC 看到 localhost 的模式状态。外网一直都是断的。

如果安装完成,是会到正常的系统环境下的 root 登陆模式,而不是一直都是 localhost 。

所以我一个说的,可能是因为自动获取的 IP 等参数不正确,导致安装并未按预期的进行,所以一直卡在一个没有任何动静的 localhost 模式下。

才建议能否加一个手动IP 掩码 网关 等参数。 看下 是否可以解决类似的问题。 我之前也提过,其他脚本如果也是自动获取,安装也是无法完成的,手动指定后安装是可以的。

bin456789 commented 6 months ago

localhost 是默认的主机名

如果你是用密码123@@@能登录的话 那就是安装完成了,只是 debian 自带的网络管理器太垃圾导致网络不通,启用 networkd 就可解决

msherrys commented 6 months ago

你的脚本在 reboot 后本来就可以进到一个查看安装进度的模式,也就是我描述的 localhost 的模式下,可以用来看安装进度的,并不是说能进去就是 debian 系统了。在这个模式下,所有的 debian 的命令几乎都是不可用的。只能在安装结束后,再一次自动重启,若能正常进到系统,同样的默认用户密码,在这个情况下,才是安装完成。

那么我描述了多次了,我指的就是 第一次手动重启后的进到 localhost 模式(安装模式)下只能看到安装进度的一个系统状态。

所以还不是 debian 系统,无法使用任何的基础命令。

如果是安装完成。我则不会一直跟你强调。安装未完成。

bin456789 commented 6 months ago

那个输入 tail 查看安装进度是云镜像模式才有的,现在安装debian已经删除了这个模式。所以是用官方程序安装

用官方程序安装是没有这个界面让你登录的,除非安装完成,或者压根没进安装程序,回到了原系统

msherrys commented 6 months ago

了解了,因为你的脚本是我用过最好用方便的。用过非常多次了,安装win与debian都是可以的。不过之前确实每次都是有两次重启,不管安装自定义的镜像还是默认的云镜像都会有 tail 可以看到安装进度。

345

我根据你的方式,尝试再次重安,但是然后尝试重启网络服务。但是依然网络未通。尝试了多次,也重启过机器,但网络依然未通,我查看了与修改的 interfaces 配置文件。保证IP 掩码 网关都正常的情况下依然没有办法让外网可通。

可能还是一个网络配置存在问题。有无之前云镜像的地址,我想用之前的云镜像尝试再看看。之前的云镜像安完会使用 netplan 是没有问题的。但目前的你说取消了 ci 参数使用官方镜像的话。目前安装后就是这个网络无法通的状态。

msherrys commented 6 months ago

456

dd 后,发现机器的传入与传出都是不通的。对系统配置的了解甚少,而且在 vnc 模式下操作特别难,所以也找不到问题在哪里。

bin456789 commented 6 months ago

大概 networkd 要另外安装 我明天改下脚本,加上 networkd

至于云镜像就不用想了,已经关掉这功能,现在也不方便改代码

msherrys commented 6 months ago

好的,辛苦作者。

那么目前如果手动 dd --img 云镜像也是没办法使用是吗? 目前只能默认 debian 11 12 这样? 关于 win 的自定义 ios --ios 这个是否与原来一致 保留的吗?

但还是希望可以保留原有的云安装方式,那时用此脚本基本没有出过任何问题,且 netplan 也比 networkd 用起来更方便,在改变网路配置失败时还可以撤销。在调试网络时要好多了,所以才是我首选的dd脚本。

bin456789 commented 6 months ago

原来又安装模式又云镜像模式对于用户太复杂,所以我砍掉一个,windows iso 只有一个模式所以不变

dd --img 是安装windows的。不能d qcow2格式

msherrys commented 6 months ago

以前也没有深究脚本的内容。所以没有了解之前脚本的复杂性, 但我只使用 curl -O https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh && bash reinstall.sh debian 11 --ci 这个我在多平台安装都没有任何问题,dd 后网络是用 netplan 。 几乎没有遇到过问题。

而我之前用的 自定义 win 是用的 reinstall.bat windows --iso='' 这个参数。那么目前 dd --img 与 windows --ios 是一样的作用了是吧。

我希望可以保留一个安装完后是 netplan 网络服务的方式。已经习惯你之前脚本dd的系统,所以现在基本操作都是围绕netplan的。

bin456789 commented 6 months ago

根据我的测试,debian 11 默认的网络组件能处理动静态网络的 32位掩码。所以原计划的 networkd 就不加了 不过为什么你这台机网络不通我就不清楚了

msherrys commented 6 months ago

我也不清楚。而且第一次是一台老的机器 dd 有这个情况,后面不通就重装再用其他脚本 dd 使用了。 之后是重买了一台新的然后用你的脚本 dd 测试反复多次,都是网络内外都不通。以前你的脚本是没有问题的,大概可能是个把月之前,还有云镜像,也就是每次重启后可以 tail 看到日志的那个版本,网络会使用 netplan 的是没有问题的。

目前还没有用其他的运营商测试过。没多余的机器,但 dmit 目前是完全不行。看能否根据情况改一下,或者保留一个之前的版本,至少没有出过任何问题。

bin456789 commented 6 months ago

目前可以这样 下载脚本,然后更改 2551 行,删除 | debian https://github.com/bin456789/reinstall/blob/2002bdb2a5750c4c000187d3b65e0a6719504c1c/reinstall.sh#L2551

再添加 --ci 使用,就跟原来的脚本一样了

msherrys commented 6 months ago

好的 多谢作者,我尝试下。

msherrys commented 6 months ago

尝试安装了成功,与之前安装方式完全一样了,又快又好,同样是netplan网络,没有任何问题。多谢~

bin456789 commented 4 months ago

经测试在dmit上,普通内核和云内核网卡名不一致,导致网络配置无效 应该算是 debian 的 bug,而且 2019 年就有人反馈了 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=928923

现在脚本做了特殊处理,普通安装网络正常了 也可以用 --ci 安装