返回列表 發帖

如何在vps內用iso重新安裝系統

本帖最後由 kingwilliam 於 2022-6-17 10:01 編輯

很久沒發文 今次同大家分享 "如何在vps內用iso重新安裝系統"

  • 有些人看見標題 就會問"什麼是重裝?為什麼要重裝?系統不是已有REINSTALL功能嗎?" 如有用過"阿里云"就會明白, 如你對vps公司提供的vps已非常滿意, 下面內容對你已沒什麼幫助.
  • vps公司提供的REINSTALL我會用"重灌"表述 下面所說是真正的"重裝"
  • 用iso重新安裝 不是交iso給審批 或 用vps重灌功能, 是直接張iso放到vps內後重新用iso安裝.
  • 以下內容 需有點班門弄斧, 如有錯漏 請多加指正 謝謝

先謝謝啟蒙 通过 iso 重装阿里云 ECS

再往下就要有linux機本或以上認識, 請留意!!

  • 當然只能linux
  • 我在512M Ram也能實現
  • 一般情況下, 系統是DHCP取IP, 有一些VPS是要在安裝時自行鍵入IP, 所以重裝前可先自己紀錄IP.
  • 系統一定要有vnc功能. 不是linux那個VNC server, 是由vps公司提供那個web vnc功能
  • 也可在安裝時encrypt hard disk.

      因我是用ubuntu, 如要encrypt hard disk.最好是用18.04, 因18.04 boot loader 還沒有encrypt的, 如vps用bios都會支援. 但20開始就連boot loader都會encrypt, 這時就要vps支援EFI, 如果是用bios, 在安裝時有機會卡在47%就不能繼續. 但也有成工安裝案例, 安裝後也可正常啟動 各方面都運作正常, 只是web vnc不能運作(搬瓦工dc3 dc6 dc9都有不同效果)


Remarks: 搬瓦工, 阿里云, DigitalOcean 都可以 (vps 我都用過不下十間, 只有兩三間是不支援, 其中vultr就是沒有web vnc)


先上步驟
文未才解說原理



以下是以ubuntu  18.04做例子, 如用debian/certos會有小許分別

以下可以用web vnc/ssh

  • cd /boot
  • wget http://us.archive.ubuntu.com/ubu ... es/netboot/mini.iso
  • apt update
  • apt install syslinux -y
  • cp -f /usr/lib/syslinux/memdisk /boot/memdisk
  • nano /etc/grub.d/40_custom
  • 貼上以下cmd
    1. menuentry 'Your Installer' {
    2.     insmod part_msdos
    3.     insmod part_gpt
    4.     insmod ext2
    5.     set root=(hd0,msdos1)
    6.     linux16 /boot/memdisk raw iso
    7.     initrd16 /boot/mini.iso
    8. }
    複製代碼

  • 留意第(5)行 set root=(hd0,msdos1)
    每間公司 不同中心 也有機會不同, 我列出幾間給參考
    digitalocean : set root=(hd0,gpt1)
    hostiger : set root=(hd0,gpt2)
    gcodelab : set root=(hd0,gpt2)
    如何找出root=什麼? 我在最後再補充
  • nano /etc/default/grub
  • 修改以下兩個參數, 如找不到 可自行加入
    1. GRUB_TIMEOUT_STYLE=countdown
    2. GRUB_TIMEOUT=30
    複製代碼
  • update-grub


    現在開始, 要用web vnc

  • reboot
  • 如看見左上用出現倒數/cursor閃爍, 就可按下鍵盤 ESC

  • 這時可選 Your Installer

  • 去到這裡, 應該已沒問題

    祝一路順風



步驟已說明, 現在解說原理.


  • 就是linux是有網絡重裝工能, 即只需一隻BOOT DISK, 先載入最基本部份, 在安裝時 需要那個模組才下載.
  • 概念是先load入 boot disk 到 ram disk. 就是這樣用ram disk完成hard disk reinstall.
  • 重點在 iso disk size 必需小過 memroy size, 如果想用ubuntu 20.04 live server iso (1.3GB), 一樣可以, 但系統必須有1.3GB RAM或以上才可完成.


步驟 2 : 就是先下載 mini.iso 大約 75MB
步驟 4,5 : 就是下載 ram disk module
步驟 6-8 : 就是在 GRUB 加入 ram disk和載入mini.iso
步驟 9 : 就是在 GRUB 加入顯示 30秒 倒數,
步驟 11 : 就是儲存修後的 GRUB
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

角色CHing 很久沒見

為何會有用iso重新安裝諗頭?
就是因曾用過ali cloud, 真的魔改到嚇人。最初是找 如何找出改了多少,但最後發現 原來是可以自行重裝。

TOP

一开始看到CHing出标题,我不够马上回应,因为担心打乱CHing写作。等过了几天后才跟帖导论,以前我也用盘瓦工的KVM,像那那样说,怎样安装系统,就会利用搬瓦工里的pre-installed OS,没有像CHing你那样“完整原ISO安装”,那么有一个好处就是可以安装到自己想要的OS。在安全角度来说会好很多。如果用国内的KVM,pre-installed OS可以加pre-installed scripts你也不知道。在美国的KVM估计会好一些。

不管怎样,谢谢CHing在茶室分享你的实战心得。

TOP

本帖最後由 kingwilliam 於 2022-6-17 09:55 編輯

補充上面 /etc/grub.d/40_custom 第5行 set root=(hd0,msdos1)


  • 如果在選完 "Your Installer" 後出現 error "no such partiton", 即root partiton 不對

  • 這時可回前一個GRUB menu 按c

  • 鍵入ls 顯示partiton

  • 這案例
    (hd0) 是 hard disk
    (hd0,gpt2) 是 partiton 2
    (hd0,gpt1) 是 partiton 1
  • 第二步就是list partiton 看看parintion 1&2 内有什麼
    可用 ls -l (hd0,gpt1)/ 和 ls -l (hd0,gpt1)/

  • 這時會看見 我們要的就是(hd0,gpt2)
  • 這時按鍵盤esc回到grub menu
  • 選要修改的 "Your Installer" 之後按 e

  • 修改set root=(hd0,gpt2)

  • 最後就是按鍵盤 F10 Boot

  • 去到這裡, 應該已沒問題
    祝一路順風
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

TOP

返回列表