win eval 换正式版
DISM /online /Set-Edition:ServerDatacenter /ProductKey:D764K-2NDRG-47T6Q-P8T8W-YP6DF /AcceptEula DISM /online /Set-Edition:ServerDatacenter /ProductKey:D764K-2NDRG-47T6Q-P8T8W-YP6DF /AcceptEula set timeout=1
menuentry "Linux lts" {
linux (hd0,msdos2)/boot/vmlinuz-lts modules=loop,squashfs,sd-mod,usb-storage quiet
initrd (hd0,msdos2)/boot/initramfs-lts
}
rm /etc/initramfs-tools/hooks/resize2fs
rm /etc/initramfs-tools/hooks/resize2fs
cat > /etc/initramfs-tools/hooks/resize2fs <<"EOF"
#!/bin/sh
PREREQ=""
prereqs() {
echo "$PREREQ"
}
case "$1" in
prereqs)
prereqs
exit 0
;;
esac
. /usr/share/initramfs-tools/hook-functions
copy_exec /sbin/findfs /sbin
copy_exec /sbin/e2fsck /sbin
copy_exec /sbin/resize2fs /sbin
copy_exec /sbin/fdisk /sbin
copy_exec /sbin/sfdisk /sbin
copy_exec /sbin/parted /sbin
copy_exec /bin/bash /sbin
EOF
chmod +x /etc/initramfs-tools/hooks/resize2fs
cat > /etc/initramfs-tools/scripts/init-premount/resize <<"EOF"
#!/bin/sh
PREREQ=""
prereqs() {
echo "$PREREQ"
}
case "$1" in
prereqs)
prereqs
exit 0
;;
esac
/sbin/bash
EOF
chmod +x /etc/initramfs-tools/scripts/init-premount/resize
update-initramfs -v -u
顺序
e2fsck -f /dev/vda1
resize2fs -f /dev/vda1 35G
fdisk /dev/vda
a
1
resize2fs /dev/vda1
exit
http://mirrors.ustc.edu.cn/alpine/v3.16/releases/x86_64/alpine-virt-3.16.2-x86_64.iso
wget http://mirrors.ustc.edu.cn/alpine/v3.16/releases/x86_64/alpine-standard-3.16.2-x86_64.iso
mkfs.ext4 /dev/vda2
mount -t ext4 /dev/vda2 /mnt
mkdir /cd
mount -o loop alpine-standard-3.16.2-x86_64.iso /cd
cd /cd
cp -r * /mnt
mv /root/alpine-standard-3.16.2-x86_64.iso /mnt
84857599
13106700
9175040
insmod ext2
set root=(hd0,msdos1)
set isofile='/alpine.iso'
loopback loop ${isofile}
linux (loop)/boot/vmlinuz-virt modules=loop,squashfs,sd-mod,usb-storage quiet
initrd (loop)/boot/initramfs-virt
linux (hd0,msdos1)/boot/vmlinuz-lts modules=loop,squashfs,sd-mod,usb-storage quiet
initrd (hd0,msdos1)/boot/initramfs-lts
boot
#禁用ipv6
vi /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
sudo sysctl -p
#格式化
apk add e2fsprogs
mkfs.ext4 -O ^has_journal /dev/vda1
mount -t ext4 /dev/vda1 /mnti
#如果启动时认不出,就用ext2格式
cd /media/vda2
mount -o loop -t iso9660 alpine-standard-3.16.2-x86_64.iso /media/cdrom
setup-alpine
apk add syslinux
dd bs=440 count=1 conv=notrunc if=/usr/share/syslinux/mbr.bin of=/dev/vda
extlinux --install /mnt
setup-disk /mnt
cp /boot/* /
apk add e2fsprogs-extra
fdisk
resize2fs /dev/vda1
cp /usr/share/syslinux/memdisk /boot/memdisk
---------------------------------------------------------------
insmod part_msdos
insmod part_gpt
insmod ext2
set root=(hd0,msdos1)
linux16 /boot/memdisk iso raw
initrd16 /netboot.xyz.iso
---------------------------------------------------------------
linux16 /boot/memdisk iso raw
initrd16 /netboot.xyz.iso
boot
imgfree
kernel http://mirrors.ustc.edu.cn/alpine/v3.16/releases/x86_64/netboot/vmlinuz-lts alpine_repo=http://mirrors.ustc.edu.cn/alpine/v3.16/main/ modules=loop,squashfs modloop=http://mirrors.ustc.edu.cn/alpine/v3.16/releases/x86_64/netboot/modloop-lts quiet nomodeset
initrd http://mirrors.ustc.edu.cn/alpine/v3.16/releases/x86_64/netboot/initramfs-lts
md5sum vmlinuz-lts initramfs-lts
boot
imgfree
kernel http://dl-cdn.alpinelinux.org/alpine/v3.17/releases/x86_64/netboot/vmlinuz-virt alpine_repo=http://dl-cdn.alpinelinux.org/alpine/v3.17/main modules=loop,squashfs modloop=http://dl-cdn.alpinelinux.org/alpine/v3.17/releases/x86_64/netboot/modloop-virt quiet nomodeset
initrd http://dl-cdn.alpinelinux.org/alpine/v3.17/releases/x86_64/netboot/initramfs-virt
md5sum vmlinuz-lts initramfs-lts
boot
fdisk
setup-alpine
setup-disk -m sys -s 0
-----------------------------------------------------------------
apk add syslinux
If you're using GPT partitions, install the GPT MBR onto the drive you want to install the bootloader on (in this case /dev/sda):
dd bs=440 count=1 conv=notrunc if=/usr/share/syslinux/gptmbr.bin of=/dev/sda
Or if you're using DOS partitions, install the DOS MBR instead:
dd bs=440 count=1 conv=notrunc if=/usr/share/syslinux/mbr.bin of=/dev/vda
extlinux --install /mnt
mkdir -p /mnt/syslinux
cp /usr/share/syslinux/efi64/* /mnt/syslinux/
cp /mnt/boot/syslinux/syslinux.cfg /mnt/syslinux/syslinux.cfg
cp /mnt/boot/vmlinuz* /mnt/
cp /mnt/boot/initramfs* /mnt/
blkid
root=UUID=3c7ba8c1-c862-4826-8b0e-088131e17a84
apk add e2fsprogs-extra
alpine win10
/boot/extlinux.conf 加上
LABEL win10
LINUX memdisk
INITRD win10.iso
APPEND iso raw
iso 放/boot,文件系统用ext2 1.ipxe启动 netboot
set net0/ip <ip>
set net0/netmask <netmask>
set net0/gateway <gateway>
set dns <nameserver>
ifopen net0
chain --autofree http://boot.netboot.xyz
2.禁用ipv6
echo 1 > /proc/sys/net/ipv6/conf/eth0/disable_ipv6
3.alpine安装
setup-alpine
setup-disk -s 0 /dev/vda
4.分区调整
apk add e2fsprogs-extra
apk add ntfs-3g-progs
apk add cfdisk
一定要先
e2fsck -f /dev/vda2
resize2fs -f /dev/vda2 35G再用cfdisk
5.换grub启动
apk del syslinux
apk add grub grub-bios
grub-install /dev/vda
blkid
cat <<EOF >> /etc/grub.d/40_custom
menuentry "Alpine Linux" {
set root=(hd0,1)
linux /boot/vmlinuz root=UUID=caff7641-b9d3-435a-8282-fc3b15ae8b3a modules=sd-mod,usb-storage4,ext3 quiet
initrd /boot/initramfs-vanilla
}
EOFUUID为blkid显示的vda2
grub-mkconfig -o /boot/grub/grub.cfg
6.把memdisk复制到/boot,启动grub时按c
linux16 (hd0,msdos1)/boot/memdisk iso raw
initrd16 (hd0,msdos2)/win10.iso
boot
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo tee /etc/systemd/system/docker.service.d/http-proxy.conf <<-'EOF'
[Service]
Environment="HTTP_PROXY=http://proxy.example.com:8080"
Environment="HTTPS_PROXY=http://proxy.example.com:8080"
Environment="NO_PROXY=localhost,127.0.0.1,.example.com"
EOF bcdedit /create {ramdiskoptions} /d "win 10 pe"
bcdedit /set {radiopticons} ramdisksdidevice partition=D:
bcdedit /set {ramdiskoptions} ramdisksdipath \win10\Boot\boot.sdi
Bcdedit /create /d "Boot from Wim" /application osloader
运行完上面会生成guid,替换下面的guid
bcdedit /set {acd191c6-69d3-11ed-80cd-c9ce13ba6396} device ramdisk=[D:]\win10\Sources\boot.wim,{ramdiskoptions}
bcdedit /set {acd191c6-69d3-11ed-80cd-c9ce13ba6396} osdevice ramdisk=[D:]\win10\Sources\boot.wim,{ramdiskoptions}
bcdedit /set {acd191c6-69d3-11ed-80cd-c9ce13ba6396} path \windows\system32\boot\winload.exe
bcdedit /set {acd191c6-69d3-11ed-80cd-c9ce13ba6396} systemroot \windows
bcdedit /set {acd191c6-69d3-11ed-80cd-c9ce13ba6396} winpe yes
bcdedit /set {acd191c6-69d3-11ed-80cd-c9ce13ba6396} detecthal yes
bcdedit /displayorder {acd191c6-69d3-11ed-80cd-c9ce13ba6396} /addlast