#!/bin/bash

# 执行命令，逐一并行化处理
echo "正在卸载 sunloginclient 和 cloud-init..."
sudo apt-get remove --purge sunloginclient -y 
sudo apt purge cloud-init -y 

# 删除相关目录
echo "正在删除 /etc/cloud 和 /var/lib/cloud..."
sudo rm -rf /etc/cloud /var/lib/cloud & 

# 禁用 fsck 自动检查（修改 /etc/fstab）
echo "正在禁用文件系统检查（fsck）..."
sudo sed -i 's/^\(.*\) \([0-9]\) \([0-9]\)$/\1 0 0/' /etc/fstab & 

# 启用系统并行启动和快速启动
echo "正在启用并行启动和快速启动..."
sudo sed -i 's/^#DefaultTimeoutStartSec=.*/DefaultTimeoutStartSec=10s/' /etc/systemd/system.conf &
sudo sed -i 's/^#DefaultTimeoutStopSec=.*/DefaultTimeoutStopSec=10s/' /etc/systemd/system.conf &

# 更新 GRUB 配置
echo "正在更新 GRUB 配置以启用快速启动..."
sudo sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="[^"]*/GRUB_CMDLINE_LINUX_DEFAULT="Nfack=no/' /etc/default/grub &
sudo sed -i 's/^GRUB_TIMEOUT=[0-9]\+$/GRUB_TIMEOUT=0/' /etc/default/grub & 

# 执行 GRUB 更新
echo "正在更新 GRUB 配置..."
sudo update-grub & 

# 设置 systemd-networkd-wait-online 服务超时时间为 5 秒
echo "正在设置 systemd-networkd-wait-online 服务的超时时间..."
sudo mkdir -p /etc/systemd/system/systemd-networkd-wait-online.service.d
echo -e '[Service]\nTimeoutStartSec=5s' | sudo tee /etc/systemd/system/systemd-networkd-wait-online.service.d/override.conf > /dev/null &

# 重新加载 systemd 配置
echo "正在重新加载 systemd 配置..."
sudo systemctl daemon-reload &

# 等待所有后台进程完成
wait

# 提示重启系统
echo "GRUB 配置已更新，systemd 配置已调整，系统将应用新的启动参数。请重启系统以使更改生效。"
echo "在系统重启后，确保您已在 BIOS 中禁用硬盘 SMART 检查，并启用了快速启动选项。"
sudo poweroff