# 检查是否已安装 OpenSSH 客户端
> Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH.Client*'
# 安装 OpenSSH 客户端
> Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
# 验证安装
> ssh -V
# 检查是否已安装 OpenSSH 服务器
> Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH.Server*'
# 安装 OpenSSH 服务器
> Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
# 启动 SSH 服务并设置为自动启动
> Start-Service sshd
> Set-Service -Name sshd -StartupType Automatic
# 检查服务状态
> Get-Service sshd
# 重启服务
> Restart-Service sshd
# 允许入站 SSH 连接
> New-NetFirewallRule -Name "OpenSSH-Server" -DisplayName "OpenSSH Server (sshd)" -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
推荐使用 PowerShell1
# 下载并安装 VC++ Redistributable,需要管理员模式
Invoke-WebRequest -Uri "https://aka.ms/vs/17/release/vc_redist.x64.exe" -OutFile "$env:TEMP\vc_redist.x64.exe"
Start-Process -Wait -FilePath "$env:TEMP\vc_redist.x64.exe" -ArgumentList "/install", "/quiet", "/norestart"
# 下载micromamba
Invoke-Webrequest -URI https://micro.mamba.pm/api/micromamba/win-64/latest -OutFile micromamba.tar.bz2
# 使用7z解压
& "C:\Program Files\7-Zip\7z.exe" x "micromamba.tar.bz2" -o"tmp"
# 使用tar解压,系统内置不用安装
mkdir micromamba
tar -xvf .\tmp\micromamba.tar -C .\micromamba\
.\micromamba\Library\bin\micromamba.exe --help
# 查看输出
.\micromamba\Library\bin\micromamba.exe shell init -s powershell -r C:\Your\Root\Prefix
默认位置为 $HOME/micromamba,也就是 C:\Users\username\micromamba 。
同时会在 PowerShell 的 Profile 文件中(相当于 Bash 的 .bashrc)添加以下代码,保证每次启动 PowerShell 时,都会自动初始化 Micromamba 。
$HOME/Documents/WindowsPowerShell/profile.ps1
#region mamba initialize
# !! Contents within this block are managed by 'mamba shell init' !!
$Env:MAMBA_ROOT_PREFIX = "C:\Users\username\micromamba"
$Env:MAMBA_EXE = "C:\Users\username\micromamba\Library\bin\micromamba.exe"
(& $Env:MAMBA_EXE 'shell' 'hook' -s 'powershell' -p $Env:MAMBA_ROOT_PREFIX) | Out-String | Invoke-Expression
#endregion
加入设置 micromamba 别名的命令。 设置别名后,即方便使用,也可配合 VSCode 的配置,实现自动启动开发环境。
# PowerShell 版本:≥5.0
> $PSVersionTable.PSVersion
# .NET Framework:≥4.5
> $PSVersionTable.CLRVersion
> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
# 普通用户安装
> Invoke-RestMethod -Uri https://blog.cuile.com/attachments/scripts/scoop_install.ps1 | Invoke-Expression
# 管理员用户安装
> irm blog.cuile.com/attachments/scripts/scoop_install.ps1 -outfile 'install.ps1'
> .\install.ps1 -RunAsAdmin
# 默认安装到 C:\Users\<user>\scoop
# 验证安装
> scoop help
# 安装aria2,提升下载速度
> scoop install aria2
# 安装7zip,提升解压成功率
> scoop install 7zip
强制使用7zip解压
// ~\.config\scoop\config.json
{
"7ZIPEXTRACT_USE_EXTERNAL": true
}
> DISM /Online /Add-Capability /CapabilityName:Windows.Client.ShellComponents~~~~0.0.1.0
# 查看所有预装应用
> Get-AppxPackage | Select Name, PackageFullName
# 移除指定应用(例如 Xbox)
> Get-AppxPackage *xbox* | Remove-AppxPackage
# 移除所有用户的应用(加 -AllUsers)
> Get-AppxPackage -AllUsers *Microsoft.YourPhone* | Remove-AppxPackage -AllUsers
# 彻底禁用自动安装(防止更新后恢复)
> Set-Content -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\CloudContent" -Name "DisableWindowsConsumerFeatures" -Value 1 -Type DWord
Set-Alias -name ll -value Get-ChildItem -Force
$ sudo nano /etc/default/grub
修改配置项
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=hyperv_fb:1366x768"
更新 grub
$ sudo /usr/lib/deepin-api/adjust-grub-theme
$ sudo update-grub
注意:这种方法最高只能支持 1920×1080 的分辨率,对于大显示器,高 DPI 的童鞋,可以考虑用 RDP,VNC 等方式来用上更高的分辨率。
使用Hyper-V安装CentOS虚拟机,使用起来非常方便。但遇到磁盘空间不够时,不像Windows虚拟机那样方便给磁盘空间扩容。 总体两分二步:
关闭虚拟机,然后给磁盘扩容,操作方便网上教程多,这里不再赘述。
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 200M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 8.8G 0 part
├─centos-root 253:0 0 7.8G 0 lvm /
└─centos-swap 253:1 0 1G 0 lvm [SWAP]
以上内容可以看出,sda已经扩容到20G,但sda1+sda2+sda3只有10G说明vhdx扩容成功。
$ fdisk /dev/sda
The device presents a logical sector size that is smaller than
the physical sector size. Aligning to a physical sector (or optimal
I/O) size boundary is recommended, or performance may be impacted.
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p):
Using default response p
分区号 (2-4,默认 2):
起始 扇区 (20971520-41943039,默认为 20971520):
将使用默认值 20971520
Last 扇区, +扇区 or +size{K,M,G} (20971520-41943039,默认为 41943039):+10G
值超出范围。
Last 扇区, +扇区 or +size{K,M,G} (20971520-41943039,默认为 41943039):+9.9G
不支持的后缀:“.9G”。
支持:10^N: KB (千字节), MB (兆字节), GB (吉字节)
2^N: K (约千字节), M (约兆字节), G (约吉字节)
Last 扇区, +扇区 or +size{K,M,G} (20971520-41943039,默认为 41943039):+9G
分区 2 已设置为 Linux 类型,大小设为 9 GiB
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。
$ partprobe
Error: 备份 GPT 表不像应该的那样出现在磁盘的末尾。这可能意味这其它操作系统相信磁盘小一些。通过将备份移动到末尾 (并删除旧备份) 来修正?
Warning: Not all of the space available to /dev/sda appears to be used, you can fix the GPT to use all of the space (an extra 20971520 blocks) or continue with the current setting?
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 200M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 8.8G 0 part
├─centos-root 253:0 0 7.8G 0 lvm /
└─centos-swap 253:1 0 1G 0 lvm [SWAP]
$ parted /dev/sda
GNU Parted 3.1
使用 /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p
错误: 备份 GPT 表不像应该的那样出现在磁盘的末尾。这可能意味这其它操作系统相信磁盘小一些。通过将备份移动到末尾 (并删除旧备份) 来修正?
修正/Fix/忽略/Ignore/放弃/Cancel? fix
警告: Not all of the space available to /dev/sda appears to be used, you can fix the GPT to use all of the space (an extra 20971520 blocks) or continue with the current
setting?
修正/Fix/忽略/Ignore? fix
Model: Msft Virtual Disk (scsi)
Disk /dev/sda: 21.5GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name 标志
1 1049kB 211MB 210MB fat16 EFI System Partition 启动
2 211MB 1285MB 1074MB xfs
3 1285MB 10.7GB 9452MB lvm
(parted) p
Model: Msft Virtual Disk (scsi)
Disk /dev/sda: 21.5GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name 标志
1 1049kB 211MB 210MB fat16 EFI System Partition 启动
2 211MB 1285MB 1074MB xfs
3 1285MB 10.7GB 9452MB lvm
(parted) quit
$ fdisk /dev/sda
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):n
分区号 (4-128,默认 4):
第一个扇区 (34-41943006,默认 20969472):
Last sector, +sectors or +size{K,M,G,T,P} (20969472-41943006,默认 41943006):+10G
已创建分区 4
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。
$ partprobe
重读分区表,正常不会有任何输出
Hyper-V 环境下安装 Linux 是无法调节分辨率的,但可以通过设置指定分辨率,不过最大只能支持1920x1080
$ sudo nano /etc/default/grub
将配置
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash "
修改为
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=hyperv_fb:1920x1080"
这里要注意屏幕的实际分辨率,在15寸的笔记本上,适合的分辨率为1600x900
$ sudo update-grub
$ reboot
一般新电脑买来都默认安排家庭版,相比专业版一个主要的区别就是没有Hpyer-V 功能。 Hpyer-V 功能支持虚拟机,Windows原生的虚拟机在资源占用方便很有优势,不只是对开发人员有用,对日常办公也非常方便。
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
保存为Hyper-V.cmd
将脚本放到桌面,右键“以管理员身份运行”,等待安装结束后,就可以使用 Hyper-V 功能了。
使用以下拓扑结构来,解决多个物理网卡随时切换的问题: 宿主机直连路由器,宿主机上创建一个虚拟路由器,和一个虚拟机,宿主机与虚拟机都通过虚拟路由器来上网。
TP Route | 宿主机 | OpenWRT | 虚拟机 | |
---|---|---|---|---|
WLAN | >DHCPIP: 192.168.10.113IP: 192.168.10.114mac: ac-8f | >BridgeIP: -mac: ac-8f | - | - |
外部网络 | - | >WLANIP: 192.168.10.113mac: ac-8f | >WLANIP: 192.168.10.114mac: 01-36 | - |
内部网络 | - | >DHCPIP: 192.168.123.100mac: 01-28 | >StaticIP: 192.168.123.1mac: 01-29 | >DHCPIP: 192.168.123.102mac: 01-2c |
网桥 | - | >SwitchIP: -mac: ac-8f | - | - |
可以尝试使用网桥功能,解决多物理网卡切换的问题