技術文檔
在我們使用工作機鏈接ipmi進行安裝操作系統的時候,經常會遇到一個操作系統安裝好幾個小時的問題,今天給大家分享一種解決方案
# 創建1GB大小的空鏡像
truncate -s 1g memdisk.img
# 加載鏡像到驅動器
kpartx -a memdisk.img
# 分區格式化設置引導
parted -s /dev/loop0 mklabel msdos
parted -s /dev/loop0 mkpart primary fat32 2048s 100%
parted -s /dev/loop0 set 1 boot on
# 格式化為FAT 32
mkfs.vfat -F 32 /dev/loop0p1
# 掛載到 /mnt
mount /dev/loop0p1 /mnt
# 安裝grub
grub-install --force --removable --no-floppy --target=i386-pc --boot-directory=/mnt/boot /dev/loop0
grub-install --force --removable --no-floppy --target=x86_64-efi --boot-directory=/mnt/boot --efi-directory=/mnt
# 復制memdisk到/mnt根目錄
curl -LO https://mirrors.kernel.org/pub/linux/utils/boot/syslinux/Testing/6.04/syslinux-6.04-pre1.tar.gz
tar -xf syslinux-6.04-pre1.tar.gz
cp syslinux-6.04-pre1/bios/memdisk/memdisk /mnt
# 下載iso鏡像到根目錄
curl -Lo /mnt/memdisk.iso 'https://drive.google.com/uc?export=download&id=19UMiysyARdK0opWA2no9tfRd0TZn63hY'
cp memdisk.iso /mnt
# grub引導菜單 (注意initrd16 /memdisk.iso這里寫實際鏡像名稱)
cat <<EOF> /mnt/boot/grub/grub.cfg
set timeout=10
set default=0
menuentry "Bootable ISO Image: memdisk.iso" {
insmod part_msdos
insmod fat
set root='(hd0,msdos1)'
linux16 /memdisk iso
initrd16 /memdisk.iso
}
EOF
# 卸載/mnt 卸載鏡像 最高壓縮鏡像
umount -l /mnt
kpartx -d memdisk.img
gzip -k --best memdisk.img
# DD 鏡像到硬盤啟動 測試
dd if=memdisk.img of=/dev/sdb bs=512 status=progress
現在這個/dev/sdb硬盤就會把iso加載到內存運行了 實際內存要大 不然會因為內存資源不足 而出錯
我們進入自帶的內存救援系統 把這個包含ISO的硬盤鏡像DD到硬盤
然后再從硬盤啟動,從而進入ISO引導
標簽:
- 上一篇: 寶塔更換IP后,FTP提示:數據Socket錯誤: 連接已超時
- 下一篇: 沒有了