LinuxGod.net
Linux大神网——精选每一篇高品质的技术干货
  1. 首页
  2. 开源快讯
  3. 正文

如何优雅的在Windows中使用Linux系统中搭建Shell环境

2022年11月25日 156点热度

虚拟机安装Arch Linux 背景

关于图形界面与命令行界面各有优势,在编译项目的场景下,更倾向于运行命令脚本自动化构建,但是在Windows系统中搭建Shell环境及其复杂,往往功能不全,很容易出现各种小问题。在Windows中也有很多模拟Linux环境的应用,最常见的有Cygwin,MSYS2,WSL等,我使用过其中的几个,使用体验不佳,普遍存在很多问题,而且极易造成系统混乱。那么问题来了,如何优雅的在Windows中使用Linux系统,我觉得最佳方案应该是部署Linux云服务器,这种方法成本比较高;那么另一种方案就是虚拟机了,但是虚拟机性能不高,为此,我选择了可以最小化安装的Arch Linux。

安装 软硬件准备

在虚拟机中新建一个客户机,硬件配置自行选择,网络适配器选择NAT模式,参见虚拟机VMware Workstation Pro v16.0.0使用教程,下载最新的Arch Live ISO,注意一定要选择最新的镜像,老版本镜像可能存在公钥过时问题。

安装步骤

相比于在真实主机中安装Linux系统,在虚拟机中安装要简单很多,不需要考虑网络连接、硬件驱动、兼容性等很多问题。

从镜像中启动系统,对于BIOS固件linux 电子书,Live ISO 使用syslinux作为引导程序;对于UEFI固件,Live ISO 使用GRUB作为引导程序,安装时不必过多在意这些。不同版本的镜像以及固件方式不同,引导界面显示内容不同,通常会有以下几下:

Arch Linux install medium (x86_64, UEFI)
Arch Linux install medium (x86_64, UEFI) with speech
EFI Shell
Reboot Into Firmware Interface

通常选择第一项即可,第二项提供了一个语音功能的无障碍安装模式,后面是一些进入固件的选项。

会以 root 用户进入 Live 系统:

英语区与中文区通常不需要更改默认键盘布局(US),确认固件类型:

ls /sys/firmware/efi/efivars

上述命令有输出内容则为UEFI启动,若文件夹不存在则为BIOS启动,虚拟机创建客户机时如果没有更改固件类型默认为BIOS模式。

检查网络连接:

ip link
ping archlinux.org

使用vmware安装linux_使用虚拟机安装linux_linux 虚拟软件

因为创建客户机时网络适配器选择的是NAT模式,此处网络连接应该会自动配置完成,即运行 ip link 输出中有IPv4地址,ping 命令测试可以连通。

接下来,对硬盘分区,使用 fdisk 或者 lsblk 列出可用硬盘:

fdisk -l

在虚拟机中上述命令输出结果通常为 /dev/sda使用虚拟机安装linux,Live ISO 中提供了fdisk、gdisk、parted等分区工具,使用 fdisk 命令分区:

fdisk /dev/sda

根据命令提示完成分区操作,推荐分区如下:

BIOS with MBR

挂载点分区分区类型建议大小

[SWAP]

/dev/swap_partition

Linux swap

512MiB

/mnt

/dev/root_partition

Linux

磁盘剩余空间

UEFI with GPT:

挂载点分区分区类型建议大小

/mnt/boot

/dev/efi_system_partition

EFI system partition

512MiB

[SWAP]

/dev/swap_partition

Linux swap

512MiB

/mnt

/dev/root_partition

Linux x86-64 root (/)

磁盘剩余空间

创建好分区之后,格式化分区:

mkfs.ext4 /dev/root_partition             # 根分区文件类型为ext4
mkswap /dev/swap_partition                # 交换分区
mkfs.fat -F 32 /dev/efi_system_partition  # EFI分区类型为FAT32

挂在分区:

mount /dev/root_partition /mnt            # 挂载根分区
mkdir /mnt/boot                           # 创建EFI分区挂载点
mount /dev/efi_system_partition /mnt/boot # 挂载EFI分区
swapon /dev/swap_partition                # 激活交换分区

linux 虚拟软件_使用vmware安装linux_使用虚拟机安装linux

接下来将系统安装到刚刚分区的硬盘中,使用 pacstrap 脚本将 Live ISO 中的文件复制到硬盘中:

pacstrap -K /mnt base linux vim

虚拟机中只需要最小化安装 base 和 linux 组件,不需要安装 linux-firmware,将 vim 安装进去便于编辑文件。

创建 fstab 文件:

genfstab -U /mnt >> /mnt/etc/fstab

进入新系统:

arch-chroot /mnt

设置时区,此处设置为国内时区:

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc

语言建议默认选择英文。创建 hostname 与 hosts 文件:

/etc/hostname
myhostname
/etc/hosts
127.0.0.1        localhost
::1              localhost
127.0.1.1        myhostname

linux 虚拟软件_使用vmware安装linux_使用虚拟机安装linux

更改镜像,国内使用 Arch 官方镜像速度很慢,改为国内镜像,编辑 /etc/pacman.d/mirrorlist 文件(建议更改系统文件时先备份再更改):

Server = http://mirrors.aliyun.com/archlinux/$repo/os/$arch

设置 root 密码,创建远程登陆用户(ssh禁止使用 root 用户远程登陆):

passwd                 # 连续输入两次密码
groupadd group1        # 创建用户组 group1
useradd -m -g group1 -s /bin/bash test # 创建用户 test,加入 group1 组 
passwd test            # 为用户 test 创建密码

编辑 /etc/sudoers 文件,对创建的 test 用户赋予执行 sudo 的权限。

安装相关软件:

pacman -S dhcpcd         # DHCP 客户端
pacman -S openssh        # 远程登陆服务端
pacman -S open-vm-tools  # 开源实现的 VMTools

安装 CPU microcode:

pacman -S amd-ucode    # AMD CPU
pacman -S intel-ucode  # Intel CPU

安装启动引导程序,启动引导程序有很多使用虚拟机安装linux,常见的有GRUB(支持 BIOS 与 UEFI)、rEFInd(支持 UEFI),选择 GRUB 作为启动引导程序:

BIOS 启动模式:

linux 虚拟软件_使用vmware安装linux_使用虚拟机安装linux

pacman -S grub 
grub-install --target=i386-pc /dev/sda 
grub-mkconfig -o /boot/grub/grub.cfg  # 生成 grub.cfg 文件

UEFI 启动模式:

pacman -S grub efibootmgr  # 需要安装 efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB 
grub-mkconfig -o /boot/grub/grub.cfg  # 生成 grub.cfg 文件

完成上述步骤后,重启系统:

exit          # 退出 arch-chroot
shutdown now  # 关机

关机后需要移除 ISO 镜像才能重新启动,进入系统后执行如下操作:

systemctl enable systemd-networkd systemd-resolved dhcpcd sshd  # 设置网络相关软件自启动
systemctl start systemd-networkd systemd-resolved dhcpcd sshd   # 启动网络相关软件
ip link             # 查看网卡
ip link set up eth1 # 激活网卡,eth1 为上述命令输出的网卡名
dhcpcd              # 运行 DHCP

经过上述操作,虚拟机应该可以正常连接到网络,如果不行,就重启一下虚拟机。然后查看虚拟机 IP 地址,从 Window 中用 ssh 协议登陆到虚拟机,这样在就可以实现复制粘贴功能,推荐一款开源的跨平台终端 Tabby,主机与虚拟机的文件传输,可以使用 Tabby 终端附带的 SFTP 协议或者虚拟机的共享文件夹功能。

在配置完 C 运行环境之后linux格式化命令,系统占用仅仅2.3G,相比于其他发行版本,真的精简很多,适合在虚拟机中运行,减少不必要的性能开销。

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: linux分区 linux服务器 linux系统 shell 虚拟机
最后更新:2022年11月25日

Linux大神网

每日更新,欢迎收藏♥ 不积跬步无以至千里,加油,共勉。

点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

Linux大神网

每日更新,欢迎收藏♥
不积跬步无以至千里,加油,共勉。

最新 热点 随机
最新 热点 随机
Linux系统用户系统上的三种类型的帐户的介绍 Linux下的开机启动设置方法是什么?脚本或服务 谷歌更新Linux内核构建的公共内核库:添加对kokoro作业的支持 linux下mysql中可以使用REVOKE语句来删除某个用户的权限 内核的角度来看,调用hotplug和通常的hotplug环境 Linux系统在开机的时候自动加载某些脚本或系统服务 如何在Linux上安装Diablo3操作系统Diablo3 RedHatLinux软件安装包软件后缀为.rpm最初 1.1.4Linux的内核版本和发行版本是什么意思?(图) Linux系统的安装-Ubuntu开启虚拟机安装过程默认注意事项 hello_exit函数代码存放在__init段中(一) 英伟达将LinuxGPU内核模块作为开放源码/MIT双重许可证(图) virtualboxlinux官方版免费、小巧,同时支持Windows、Linux和Mac系统主机 Linux平台下的嵌入式软件要具备说明技能吗? 图解linuxlinux内核结构框图对内核框图有个总体的把握 linux虚拟机的安装步骤是什么?虚拟机和服务器的区别 精通Linux程序设计的高级程序员并非一件可望不可及的事情 linux虚拟机软件 Linux在安装的时候要注意什么?Linux安装注意事项 Python都有哪些应用,学习完成Python后能的工作方向 微软考虑用Rust开发内核的Linux内核-Hartman
Linux5.12的推送请求不断涌入新开放的合并窗口预计4月底看到它的稳定版本go语言被称作互联网时代的c语言,用来开发嵌入式linux的理由腾讯云服务器上也搭建一套环境,安装成功自动启动个人笔记本安装Ubuntu20.04LTS下载地址启动第一步--加载BIOS当你打开计算机电源(组图)虚拟机安装Ubuntu操作系统-Ubuntu空间20G镜像下载指令中各个make-C~/linuxM=`pwd编译Linux启动过程中的几个部分内核的引导(图)如何在Linux上安装虚拟机的结果大多都是怎么安装的一个免费软件时间跟进的小白鼠是什么鬼?专题计算机是如何启动的?、内核操作系统的启动流程学习Linux最简单、最实用的环境就是虚拟机环境(上)基于命令修改文件的权限命令-ld1.Linux磁盘分区和目录Linux发行版本之间的差别很少?国内性价比很高的Linux虚拟主机系统安装的流程是什么?Linux下修改文件权限的权限与所有权的实现就显得很有必要linux到底难不难学呢?推荐可以查看Linux命令大全Linux中修改文件权限的命令、创建者所在组、所有人Linux的内核放在了哪里?/boot的启动目录一览阿里云>社区>主题地图S>查看存储推荐
Linux2.6.32内核的64为操作系统的命令-苏州安嘉 利用FinalShell访问虚拟机FinalShell Ubuntu18验证dhcp服务器配置是否成功?.04的配置 Linux系统下如何定位出CPU使用率过高的进程?(组图) 老男孩教育怎么样有哪些课程?-八维教育 Linux基金会主席Zemlin宣布中标软件和阿里云成为Linux会员 库是什么?库的分类、分类库、动态库 如何在win10环境下使用vmware搭建本地计算机的虚拟机? 《构建高性能web站点》推荐理由及方法都能找到 Linux下查看版本号的命令转(组图) U盘安装linux系统解决方法:确保Linux下采用dd命令 华为手机刷机软件V1.2.5官方版软件说明软件介绍 linux解压zip文件命令 2015年上海事业单位医疗招聘考试:tar Windows下默认的编码是GBK-8,怎么办? 《深入linux设备驱动程序内核机制》(1)_社会万象_光明网(图) linux中命令介绍Cat命令(concatenate命令)介绍命令 Linux上创建WindowsUSB很困难的工具是什么?怎么办? 红帽Linux零基础入门不难 Linux强烈建议采用自定义的系统服务实现开机启动程序的脚本方法 如何查看Linux内核版本的命令(2种方法)?
标签聚合
文件目录 虚拟机 linux系统 sudo linux服务器 unix 命令模式 软件 shell 电脑
书籍
课程
技术群
技术干货大合集↓
  • 2023年2月 / 12篇
  • 2023年1月 / 161篇
  • 2022年12月 / 187篇
  • 2022年11月 / 76篇

COPYRIGHT © 2023 linuxgod.net ALL RIGHTS RESERVED.