当前位置: 首页 > news >正文

【Linux】使用U盘自动化安装Linux(VMware虚拟机)


文章目录

  • 前言
  • 一、准备
  • 二、新建虚拟机
    • 2.1 创建虚拟机
    • 2.2 新增硬盘
    • 2.3 系统启动项
  • 三、加电运行
  • 四、EFI方式
  • 五、总结


前言


一、准备

基于之前的基础【Linux】Kickstart 配置U盘自动化安装Linux系统,现在我们可以在虚拟机中尝试自动化安装Linux系统。

二、新建虚拟机

2.1 创建虚拟机

首先是创建一个新的虚拟机,选择稍后安装操作系统,其他配置如磁盘大小配置等,这些自己选择即可,这边就不放图了。
在这里插入图片描述

2.2 新增硬盘

虚拟机创建完成之后,点击“编辑虚拟机设置”
在这里插入图片描述
选择添加一块硬盘,磁盘类型默认即可,但磁盘一定要选“使用物理磁盘”(目的就是去选择U盘,此时便可将USB插入电脑中):
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在USB插入到电脑之后,这边的物理磁盘选择上显示的设备便是有多个,一般最后一个(序号最大的那个)便是U盘。我这边因为电脑中原先就有两块硬盘(固态+机械),因此就对应到Drive0和Drive1,那么最后的Drive2就是USB。
设备选中“PhysicalDrive2”(对应USB的那个),使用情况选择使用整个磁盘。
点击下一步,保存磁盘文件名即可。
在这里插入图片描述
此时整个虚拟机就配置好了。
但现在肯定是希望虚机加电启动后,能自动进入到第二块磁盘(也就是物理U盘)的安装程序中,那么就需要进入到BIOS来修改系统硬盘启动的顺序。

2.3 系统启动项

右击该虚机的选项卡,进入到电源条目中,点击“打开电源时进入固件”。
在这里插入图片描述
此时,系统便会加电启动,并进入到BIOS界面中。
在BIOS界面里,找到Boot->Hard Drive,并将第二块硬盘(Hard Drive 0:1,即对应物理U盘)往上移动,即加电后优先加载该硬盘。
向上、向下移动的方法见BIOS界面右侧的说明,加减号即可。
在这里插入图片描述
将Drive 0:1移动到最上面之后,按Esc,保存退出,系统自动重新加载启动。

三、加电运行

重新启动后,因为是默认优先加载了Drive 0:1磁盘(即U盘),此时界面显示CentOS 7的引导菜单。
因为之前cfg配置文件中有配置default默认启动项(图中白色条目),此时在超时时间(底部倒计时)到期后,将会自动进入到该菜单中,并执行后续的程序。
在这里插入图片描述
后续便是根据Kickstart文件中的配置内容,自动化进行配置的一些显示进程。
在这里插入图片描述

在这里插入图片描述
系统完成安装后,会按照ks文件最后的指令“reboot”进行重启,但此时需注意,完成安装后,就需要人工干预了,不能让它自动重启(或者是在ks文件中删除reboot指令),因为前面在BIOS引导顺序中将第二块磁盘(也就是U盘)
置于最上层,那就是永远会优先加载这块磁盘,也就是会再次进入到系统安装程序中。
此时就需要及时断电,关闭虚机,然后再删除掉我们之前添加的第二块磁盘即可。
现在就可以正常加电启动并进入到新系统中了。

四、EFI方式

以EFI方式安装虚机的话,grub.cfg和ks.cfg两个文件配置都得准备好。
自动化安装系统的步骤,基本同前文BIOS的方式。
不同点在于需要在虚机配置中固件类型,改为“UEFI”。
在这里插入图片描述

五、总结

本文简单介绍了使用U盘自动化安装Linux虚拟机的情况,操作起来并不复杂,基本上做一遍之后便会记得。
若要将U盘自动化安装应用到物理服务器上,其实也只需要将U盘调整为服务器的优先启动项即可,后续便是自动化的进程。


http://www.lryc.cn/news/20147.html

相关文章:

  • 内网渗透(五十七)之域控安全和跨域攻击-基于服务账户的非约束委派攻击
  • gitlab 安装到项目上传一篇解决
  • Verilog 逻辑与()、按位与()、逻辑或(||)、按位或(|)、等于(==)、全等(===)的区别
  • 剑指 Offer 22. 链表中倒数第k个节点
  • 数据结构预算法之买卖股票的最好时机(三)动态规划
  • 【数通网络交换基础梳理2】三层设备、网关、ARP表、VLAN、路由表及跨网段路由下一跳转发原理
  • Java-排序链表问题
  • c++之二叉树【进阶版】
  • 【数据库】 SQLServer
  • Linux 4.19 内核中 spinlock 概览
  • TensorFlow 1.x学习(系列二 :1):基本概念TensorFlow的基本介绍,图,会话,会话中的run(),placeholder(),常见的报错
  • javaEE 初阶 — 关于 IPv4、IPv6 协议、NAT(网络地址转换)、动态分配 IP 地址 的介绍
  • 《Qt 6 C++开发指南》简介
  • CleanMyMac是什么清理软件?及使用教程
  • Linux小黑板(9):共享内存
  • Detr源码解读(mmdetection)
  • 一个.Net Core开发的,撑起月6亿PV开源监控解决方案
  • C语言数据结构初阶(2)----顺序表
  • K8S常用命令速查手册
  • Linux系统下命令行安装MySQL5.6+详细步骤
  • 13.STM32超声波模块讲解与实战
  • 逆向之Windows PE结构
  • ACL是什么
  • 操作系统核心知识点整理--内存篇
  • 从零开始学习iftop流量监控(找出服务器耗费流量最多的ip和端口)
  • 第一篇博客------自我介绍篇
  • No suitable device found for this connection (device lo not available(网络突然出问题)
  • 【算法设计技巧】分治算法
  • 已解决kettle新建作业,点击保存抛出异常Invalid state, the Connection object is closed.
  • 【设计模式】 工厂模式介绍及C代码实现