mirror of
https://github.com/DragonOS-Community/DragonOS.git
synced 2025-06-19 00:46:31 +00:00
增加uefi启动 (#101)
* 增加uefi启动 * 修改脚本 * uefi修改 * 删除错误的注释 * 修正写入磁盘镜像的脚本 * 修改X86_64为x86_64 Co-authored-by: longjin <longjin@RinGoTek.cn>
This commit is contained in:
@ -1,9 +1,18 @@
|
||||
echo "Creating virtual disk image..."
|
||||
########################################################################
|
||||
# 这是一个用于创建磁盘镜像的脚本
|
||||
# 用法:./create_hdd_image.sh -P MBR/GPT
|
||||
# 要创建一个MBR分区表的磁盘镜像,请这样运行它: bash create_hdd_image.sh -P MBR
|
||||
# 要创建一个GPT分区表的磁盘镜像,请这样运行它: bash create_hdd_image.sh -P GPT
|
||||
# 请注意,这个脚本需要root权限
|
||||
# 请注意,运行这个脚本之前,需要在您的计算机上安装qemu-img和fdisk,以及parted
|
||||
#
|
||||
# 这个脚本会在当前目录下创建一个名为disk.img的文件,这个文件就是磁盘镜像,
|
||||
# 在完成后,会将这个文件移动到bin目录下
|
||||
########################################################################
|
||||
|
||||
# 创建一至少为32MB磁盘镜像(类型选择raw)
|
||||
qemu-img create -f raw disk.img 32M
|
||||
|
||||
# 使用fdisk把disk.img的分区表设置为MBR格式(下方的空行请勿删除)
|
||||
format_as_mbr() {
|
||||
echo "Formatting as MBR..."
|
||||
# 使用fdisk把disk.img的分区表设置为MBR格式(下方的空行请勿删除)
|
||||
fdisk disk.img << EOF
|
||||
o
|
||||
n
|
||||
@ -14,6 +23,59 @@ n
|
||||
w
|
||||
EOF
|
||||
|
||||
}
|
||||
|
||||
format_as_gpt() {
|
||||
echo "Formatting as GPT..."
|
||||
sudo parted disk.img << EOF
|
||||
mklabel gpt
|
||||
y
|
||||
mkpart
|
||||
p1
|
||||
FAT32
|
||||
0
|
||||
-1
|
||||
I
|
||||
set
|
||||
1
|
||||
boot
|
||||
on
|
||||
print
|
||||
q
|
||||
EOF
|
||||
}
|
||||
|
||||
echo "Creating virtual disk image..."
|
||||
ARGS=`getopt -o P: -- "$@"`
|
||||
# 创建一至少为64MB磁盘镜像(类型选择raw)
|
||||
qemu-img create -f raw disk.img 64M
|
||||
#将规范化后的命令行参数分配至位置参数($1,$2,...)
|
||||
eval set -- "${ARGS}"
|
||||
#echo formatted parameters=[$@]
|
||||
#根据传入参数进行MBR/GPT分区
|
||||
case "$1" in
|
||||
-P)
|
||||
if [ $2 == "MBR" ];
|
||||
then
|
||||
format_as_mbr
|
||||
elif [ $2 == "GPT" ];
|
||||
then
|
||||
format_as_gpt
|
||||
else
|
||||
echo "Invalid partition type: $2"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
--)
|
||||
# 如果没有传入参数-P,则默认为MBR分区
|
||||
format_as_mbr
|
||||
;;
|
||||
*)
|
||||
echo "Invalid option: $1"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
LOOP_DEVICE=$(sudo losetup -f --show -P disk.img) \
|
||||
|| exit 1
|
||||
echo ${LOOP_DEVICE}p1
|
||||
|
Reference in New Issue
Block a user