首页 > 系统相关 >折腾笔记[3]-迁移U盘的ubuntu到虚拟机

折腾笔记[3]-迁移U盘的ubuntu到虚拟机

时间:2024-12-29 16:53:11浏览次数:1  
标签:repair U盘 启动 虚拟机 boot BIOS UEFI ubuntu 固件

摘要

使用clonezilla工具迁移安装到U盘中的ubuntu18.04系统到vmware虚拟机.

关键信息

  1. clonezilla
  2. ubuntu18.04
  3. cpu:x86_64
  4. vmware:17.6.0
  5. ubuntu引导方式:UEFI+GRUB2
  6. windows11

原理简介

clonezilla简介

[https://clonezilla.org/]
[https://linux.cn/article-3888-1.html]

  • 再生龙
    Clonezilla是一个用于Linux,Free-Net-OpenBSD,Mac OS X,Windows以及Minix的分区和磁盘克隆程序。它支持所有主要的文件系统,包括EXT,NTFS,FAT,XFS,JFS和Btrfs,LVM2,以及VMWare的企业集群文件系统VMFS3和VMFS5。Clonezilla支持32位和64位系统,同时支持旧版BIOS和UEFI BIOS,并且同时支持MBR和GPT分区表。它是一个用于完整备份Windows系统和所有安装于上的应用软件的好工具,而我喜欢用它来为Linux测试系统做备份,以便我可以在其上做疯狂的实验搞坏后,可以快速恢复它们。
    Clonezilla也可以使用dd命令来备份不支持的文件系统,该命令可以复制块而非文件,因而不必在意文件系统。简单点说,就是Clonezilla可以复制任何东西。(关于块的快速说明:磁盘扇区是磁盘上最小的可编址存储单元,而块是由单个或者多个扇区组成的逻辑数据结构。)

grub2简介

[https://linux.cn/article-6892-1.html]
[https://www.gnu.org/software/grub/]
Grub 2 是一款精彩的功能强大的软件。它不是 bootloader 界的一枝独秀,但却最受欢迎,几乎所有主要的桌面发行版都在使用它。 Grub 的工作有两个。首先,它用一个菜单展示计算机上所有已经安装的操作系统供你选择。其次,当你从启动菜单中选择了一个 Linux 操作系统, Grub 便加载这个 Linux 的内核。
GNU GRUB is a Multiboot boot loader. It was derived from GRUB, the GRand Unified Bootloader, which was originally designed and implemented by Erich Stefan Boleyn.

Briefly, a boot loader is the first software program that runs when a computer starts. It is responsible for loading and transferring control to the operating system kernel software (such as the Hurd or Linux). The kernel, in turn, initializes the rest of the operating system (e.g. GNU).

uefi简介

[https://kontronn.com/post/hardware/introduction-to-uefi.html]
UEFI 是一种标准化的固件接口,用于在操作系统启动之前初始化和配置硬件。特点模块化设计:UEFI 采用模块化设计,每个模块负责特定的功能。
为了更好地理解UEFI,我们首先需要回顾一下历史。自20世纪80年代以来,计算机一直在使用BIOS。

当我们提到BIOS时,根据上下文的不同,它可能代表不同的含义:

BIOS标准:这是一个广泛的概念,指的是一种在计算机启动时初始化硬件并加载操作系统引导程序的标准接口。

具体的BIOS实现——即特定于主板的固件(“ASUS $motherboard_name BIOS”):

这是由主板制造商编写或授权的代码。
当计算机开机时,硬件被设置为开始执行BIOS。这是CPU需要知道的全部内容,即CPU不需要了解驱动器、文件系统或操作系统。BIOS负责初始化硬件,加载引导加载程序(如GRUB或Windows Boot Manager),然后引导加载程序负责加载并启动操作系统。
简而言之,BIOS是计算机启动过程中的一个重要环节,它负责在操作系统加载之前初始化硬件,并为操作系统的启动提供必要的环境。而UEFI(统一可扩展固件接口)是BIOS的现代替代品,提供了更多的功能和更好的安全性。

UEFI 代表统一可扩展固件接口(Unified Extensible Firmware Interface)。它与 BIOS 执行相同的任务,但有一个基本区别:它将所有关于初始化和启动的数据存储在 .efi 文件中,而不是存储在固件上。

这个 .efi 文件存储在硬盘上一个名为 EFI 系统分区(EFI System Partition, ESP)的特殊分区中。这个 ESP 分区还包含引导加载程序。

UEFI 被设计用来克服旧版 BIOS 的许多限制,包括:

UEFI 支持高达 9 泽它字节(Zettabytes)的驱动器大小,而 BIOS 仅支持 2.2 太字节(Terabytes)。
UEFI 提供更快的启动时间。
UEFI 具有独立的驱动程序支持,而 BIOS 的驱动程序支持存储在 ROM 中,因此更新 BIOS 固件有点困难。
UEFI 提供类似“安全启动”(Secure Boot)的安全功能,这可以防止计算机从未经授权/未签名的应用程序启动。这有助于防止 rootkit,但也会妨碍双系统启动,因为它将其他操作系统视为未签名的应用程序。目前,只有 Windows 和 Ubuntu 是已签名的操作系统(如果我有误,请告诉我)。
UEFI 以 32 位或 64 位模式运行,而 BIOS 以 16 位模式运行。因此,UEFI 能够提供图形用户界面(GUI, Graphical User Interface),允许使用鼠标进行导航,而 BIOS 仅允许使用键盘进行导航。

boot-repair简介

  • boot-repair-cd版本
    [https://sourceforge.net/projects/boot-repair-cd]
    用U盘制作一个ubuntu启动盘
    进入U盘的ubuntu,打开终端,添加boot-repair库:sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
    下载并启动:sudo apt-get install -y boot-repair && boot-repair
    然后会弹出一个小界面,点击第一行即“推荐修复”,等待完成重启即可

Boot-Repair-Disk, the 'must-have' rescue CD !
Here is THE Rescue Disk that you should keep close to your computer !

runs automatically Boot-Repair rescue tool at start-up
also contains the OS-Uninstaller and Boot-Info tools.
repairs recent (UEFI) computers as well as old PCs
HOW TO GET AND USE THE DISK:

(1) DOWNLOAD BOOT-REPAIR-DISK,
(2) Then burn it on a live-USB key via Rufus or Unetbootin. (do not burn it on CD/DVD if your PC came with Windows8/10)
(3) Insert the Boot-Repair-Disk and reboot the PC,
(4) Choose your language,
(5) Connect internet if possible
(6) Click "Recommended repair"
(7) Reboot the pc --> solves the majority of bootsector/GRUB/MBR problems

实现

[https://blog.51cto.com/u_16099265/10717173]

  1. 新建虚拟机

  2. vmware设置为uefi启动:虚拟机设置->选项->高级->固件类型->uefi

  3. 添加ubuntu系统的u盘为虚拟硬盘,使用整个磁盘

  4. 添加clonezilla.iso为CD/DVD光盘

  5. 电源->从固件启动->进去虚拟BIOS->boot选项->更改启动顺序,从光盘优先启动

  6. 进去clonezilla,硬盘到硬盘,专家模式,


参数:-g,-e1,-e2,-j2,-r,-cmf,-v,-ps;

跳过检查与修正文件系统

使用来源的分区表


,正确选择源和目标磁盘,然后等待克隆完成,正常关闭虚拟机,修改启动顺序(移除iso防止再次进入再生龙),进入ubuntu,安装vmware-tools(可选)

效果

移动效果

标签:repair,U盘,启动,虚拟机,boot,BIOS,UEFI,ubuntu,固件
From: https://www.cnblogs.com/qsbye/p/18639208

相关文章

  • 尝试 vmware 16.0.0 过虚拟化 过xf虚拟机检测
    前言最新想在vmware虚拟机上玩xf,网上找了不少教程,于是打算自己尝试下。如果可以修改成功的话,其价值嘛不可估量。环境vmware版本是16.0.0,已安装VMwareToolsvmware版本是16.1.2,已安装VMwareTools虚拟镜像cn_windows_7_professional_with_sp1_vl_build_x64_dvd_u_677816回......
  • Ubuntu20.04安装Qt5.15.2并配置qml_ros_plugin插件
    安装QtQt老版本采用离线安装,新版本采用在线安装器安装,在官网安装速度很慢,一般在国内的源下载。在中科大源下载Qt在线安装器http://mirrors.ustc.edu.cn/qtproject/official_releases/online_installers/安装依赖sudoaptinstallgccg++makecmakebuild-essentiallibgl1-......
  • windows与虚拟机linux通过ssh进行连接并上传文件
    windows与虚拟机linux通过ssh进行连接并上传文件windows配置以管理员打开powershell下载和启动安装ssh客服端Add-WindowsCapability-Online-NameOpenSSH.Server~~~~0.0.1.0Add-WindowsCapability-Online-NameOpenSSH.Client~~~~0.0.1.0Start-ServicesshdSet-Servic......
  • 【笔记】在虚拟机中通过apache2给一个主机上配置多个web服务器
    (配置出来的web服务器又叫虚拟主机……)下载apache2sudoaptupdatesudoaptinstallapache2(一)ip相同web端口不同的web服务器进入/var/www/html创建站点一和站点二的目录文件(目录文件名自定义哈)sudomkdirweb1web2并进入其中分别创建一个index.htmlps:/var/w......
  • 【Linux】ubuntu开启web服务
    1.利用python3自带的服务httpserver模块开启服务python3-mhttp.server8081缺点:客户端http协议的版本不对的时候就会报错采用https访问会报错然后服务就被中止了,从而异常了。报错的代码如下:47.100.190.74--[20/Jun/202105:15:06]code400,messageBadHTTP/0.9......
  • Ubuntu软件仓库GPG公钥缺失
    问题描述sudoaptupdate...#出现以下警告W:Anerroroccurredduringthesignatureverification.Therepositoryisnotupdatedandthepreviousindexfileswillbeused.GPGerror:http://repository.spotify.comstableInRelease:Thefollowingsignaturesc......
  • 在FreeBSD或Ubuntu平台仿真RISCV64位版本FreeBSD系统相关技术文档
    本文档主要是针对没有实体机,用FreeBSD或Ubuntu平台仿真FreeBSDRISCV64系统的技术实现。RISCV64介绍RISCV64是一种基于RISC-V(以后简称RISCV)指令集架构(ISA)的64位处理器设计。RISCV是一种开放的指令集架构,由加州大学伯克利分校的研究团队于2010年首次发布,其设计目标是提供一个......
  • Ubuntu/Linux开机自启动脚本创建方法
    mc服务器自重启/自备份脚本创建文件首先,我们需要创建一个脚本新建一个auto.sh文件赋予他执行权限chmod+x/root/auto.sh内容如下#!/usr/bin/bashecho"Hello,World!"其中第一行是指定脚本使用BashShell解释器,可以使用下面的命令查看whichbash接下来尝试运行.......
  • linux虚拟机root密码破解
    我们先打开虚拟机选择第二个选项(ctrl+alt把鼠标显示出来,然后同时按住鼠标和上下键选择)然后“E”键进入下一个界面在quiet后面输入rd.break然后按ctrl+x进入下一个界面先输入mount-oremountrw/sysroot再输入chroot/sysroot再输入passwd接下来就是输入密码,然......
  • 13、【ubuntu】【gitlab】【gtest】流水线添加第一个测试任务
    背景基于之前wiki【gitlab搭建第一个流水线】https://blog.csdn.net/nobigdeal00/article/details/144623993将在build阶段添加构建任务,并在test阶段添加一个测试任务demo是一个C项目,这里选用googletest作为测试框架,googletest主要是为C++设计的,C和C++同属一脉,也可以用来......