CentOS官網上下載的GenericCloud鏡像是VHD格式,MBR分區,只能掛着Hyper-V的一代虛擬機上。Hyper-V二代虛擬機使用VHDX格式,使用UEFI啓動。遷移到二代機,主要是修改磁盤格式,轉爲GPT分區和激活UEFI啓動系統linux
首先修改磁盤格式爲VHDXcentos
使用Hyper-V創建2代虛擬機。添加上一步創建的vhdx磁盤,添加光驅。注意在「設置->固件」中把安全啓動去掉,並在啓動順序把光盤啓動提早。安全
轉MBR分區爲GPT分區工具
對系統所在的磁盤作分區操做須要救急光盤。hyper-v二代虛擬機,只在UEFI上啓動,因此要使用支持UEFI啓動的救急光盤。gparted-live-0.31.0-1-amd64.iso
,在移動磁盤分區的時候閃退。後來用super_grub2_disk製做的救急光盤 rescatux-0.51b3.iso
,能夠工做。centos7
說實話被linux下名目繁多的分區工具閃花了眼。總結以下:code
首先,使用gparted移動和擴展已有的數據分區,這樣新建的分區能夠放到前面。固然也能夠直接在原分區的末尾添加一個UEFI的啓動ESP分區,但之後想擴展分區容量時,附在分區末尾的疤同樣的存在就很討厭了。排序
centos7使用xfs文件系統,gparted只能擴大和移動,不能縮小。移動原數據分區到末尾,注意末尾留下1M的空間。由於GPT會在磁盤末尾33個扇區備份分區表,留1M空間是爲保持1M對齊。磁盤前面,留下1G+10M左右空間,其中1G作swap分區,零頭10M左右爲UEFI的啓動分區,ESP分區。get
其次,使用gdisk把MBR格式轉成GPT格式。轉格式方法很簡單,sudo gdisk /dev/sda
打開硬盤設備後,直接 w
,寫入硬盤就能夠了。固然,gdisk在GPT分區上仍是有特點的,咱們繼續用它建立好分區。在交互模式下,先創建swap分區(分區類型8200)和ESP分區(分區類型EF00),而後記得按 s
對分區表從新排序。虛擬機
最後,爲ESP分區創建文件系統,假設排過序後,ESP分區在第一個分區::it
sudo mkfs -t vfat /dev/sda1
ESP分區上要有FAT的文件系統。不然在後面的步驟時會沒法啓動系統。
激活centos的UEFI啓動
使用super grub2 disk的另外一個工具光盤,super_grub2_disk_hybrid_2.02s10-beta5.iso
,別費力用剛纔的 rescatux-0.51b3.iso
光盤裏的easy gnu/linux boot fix功能,在這裏沒用。super_grub2_disk_hybrid_2.02s10-beta5.iso
,是個啓動工具,幫助啓動受損的系統,經過它啓動進入系統。
使用 super_grub2_disk_hybrid_2.02s10-beta5.iso
啓動系統,檢測到虛擬機上已存在的centos7後,選擇並進入。而後安裝grub的EFI啓動器。
修改/etc/fstab。先使用 sudo blkid
查看各分區id及文件系統。而後修改/etc/fstab,把ESP分區和swap分區加上,ESP分區掛載/boot/efi目錄。
sudo mount -a
從新掛載文件系統
安裝grub的EFI啓動器::
sudo yum install grub2-efi-x64-modules sudo yum install efibootmgr sudo grub2-install --target x86_64-efi --bootloader-id=centos /dev/sda sudo grub2-mkconfig -o /boot/grub2/grub.cfg
OK. 移除光盤,從新啓動系統。正常進入centos7。