mirror of
https://github.com/bin456789/reinstall.git
synced 2025-12-10 07:28:56 +08:00
core: 记录主硬盘
This commit is contained in:
34
redhat.cfg
34
redhat.cfg
@ -34,29 +34,35 @@ selinux --disabled
|
||||
|
||||
##############################################
|
||||
%pre
|
||||
get_xda() {
|
||||
# 排除只读盘,vda 放前面
|
||||
# 有的机器有sda和vda,vda是主硬盘,另一个盘是只读
|
||||
for _xda in vda xda sda hda xvda nvme0n1; do
|
||||
if [ -e "/sys/class/block/$_xda/ro" ] &&
|
||||
[ "$(cat /sys/class/block/$_xda/ro)" = 0 ]; then
|
||||
echo $_xda
|
||||
return
|
||||
fi
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
distro=$(awk -F: '{ print $3 }' </etc/system-release-cpe)
|
||||
releasever=$(awk -F: '{ print $5 }' </etc/system-release-cpe)
|
||||
|
||||
# 重新整理 extra,grub把两侧的引号吃掉了,eval出错,要重新添加引号
|
||||
# 提取 extra.localtest extra.confhome extra.mirrorlist
|
||||
# 提取 extra.confhome extra.mirrorlist extra.main_disk
|
||||
prefix=extra
|
||||
for var in $(grep -o "\b$prefix\.[^ ]*" /proc/cmdline | xargs); do
|
||||
eval "$(echo $var | sed -E "s/$prefix\.([^=]*)=(.*)/\1='\2'/")"
|
||||
done
|
||||
|
||||
get_all_disks() {
|
||||
lsblk -rn --nodeps -o NAME,TYPE | grep 'disk$' | awk '{print $1}'
|
||||
}
|
||||
|
||||
get_xda() {
|
||||
# 防止 $main_disk 为空
|
||||
if [ -z "$main_disk" ]; then
|
||||
return
|
||||
fi
|
||||
|
||||
for disk in $(get_all_disks); do
|
||||
# shellcheck disable=SC2154
|
||||
if fdisk -l "/dev/$disk" | grep -iq "$main_disk"; then
|
||||
echo "$disk"
|
||||
break
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# 只使用主硬盘
|
||||
include=/tmp/include-disk-only-use
|
||||
echo "ignoredisk --only-use=$(get_xda)" >$include
|
||||
|
||||
Reference in New Issue
Block a user