在一台 Mac Mini mid 2011上安裝Ubuntu20.04並配置KVM環境, 過程也適用於其他版本的Mac主機.
硬件配置
I5 2415, 內存8G*2, 硬盤 SSD 500G + HDD 500G. 1Gbps網口. USB比較寒磣只有2.0, 不過只用於跑服務也不需要掛載移動硬盤, USB慢點沒關系.
安裝 Ubuntu20.04 / Ubuntu22.04
下載ISO
USTC鏡像
- http://mirrors.ustc.edu.cn/ubuntu-cdimage/releases/20.04.4/release/
- https://mirrors.ustc.edu.cn/ubuntu-releases/
制作U盤
通過Ubuntu系統的Disk打開U盤, 然后restore disk image, 選中下載的iso
安裝步驟
- Mac Mini 插上U盤后, 按住鍵盤的ALT鍵開機, 注意是ALT鍵, 會出現啟動選擇界面, 選最后一個UEFI USB設備啟動.
- 如果讓升級 Installer, 選擇升級, 用22.04.1鏡像自帶的Installer遇到了Installation stops after executing late commands錯誤, 停在那里沒動靜. 后來重新安裝, 升級Installer后再安裝就好了
- 安裝時選擇使用整塊硬盤, 在下一個界面會讓你修改分區配置, 使用的是不帶LVM, 分區兩個, 一個FAT32掛載到/boot/efi, 另一個ext4掛載到/.
- 如果有兩塊硬盤, 可以在這個界面設置掛載點, 例如另一塊硬盤掛載到/data
- 因為平時只連網線, 所以最后需要選擇安裝 OpenSSH
- Ubuntu20.04/22.04 安裝后只能看到有線網口, 無線網口沒有驅動
安裝KVM
檢查是否支持KVM
grep -E -c "vmx|svm" /proc/cpuinfo
# or
more /proc/cpuinfo |grep vmx
more /proc/cpuinfo |grep svm
# or
sudo apt install cpu-checker
kvm-ok
安裝KVM
sudo apt install qemu qemu-kvm libvirt-daemon bridge-utils virtinst
- 如果使用圖形界面, 可以加上
virt-manager
- 如果是22.04, 再加上這個
sudo apt install libvirt-daemon-system
, 否則systemctl status libvirtd
會提示找不到這個服務
檢查
$ lsmod | grep -i kvm
kvm_intel 282624 0
kvm 663552 1 kvm_intel
檢查
# 是否運行
systemctl status libvirtd
# 是否開機自啟動
systemctl is-enabled libvirtd
# 虛機列表, 剛安裝應該是空的
virsh list
添加用戶組(貌似可以不需要)
sudo usermod -aG libvirt $USER
sudo usermod -aG kvm $USER
設置橋接
默認的網卡設置是這樣的
more /etc/netplan/00-installer-config.yaml
===============
# This is the network config written by 'subiquity'
network:
ethernets:
enp2s0f0:
dhcp4: true
version: 2
===============
需要修改為這樣格式的設置, 根據自己的網絡情況修改
# This is the network config written by 'subiquity'
network:
ethernets:
enp2s0f0:
dhcp4: no
dhcp6: no
version: 2
bridges:
br0:
interfaces: [enp2s0f0]
addresses: [192.168.61.152/24]
gateway4: 192.168.61.1
nameservers:
addresses: [192.168.61.1, 8.8.8.8]
Ubuntu22.04, 格式有一些變化, gateway4 deprecated了, 要用routes
# This is the network config written by 'subiquity'
network:
ethernets:
enp2s0f0:
dhcp4: false
dhcp6: false
version: 2
bridges:
br0:
interfaces: [enp2s0f0]
addresses:
- 192.168.61.152/24
routes:
- to: default
via: 192.168.61.1
nameservers:
addresses:
- 192.168.61.1
- 8.8.8.8
search: []
應用
sudo netplan apply
問題
放置雙硬盤
加雙硬盤時費了點時間, 看了些網上的教程, 都是要把主板完整取出, 實際上並不需要. 只需要將下半邊的塑料擋板, 風扇和內存取下, 就能將兩塊硬盤放進去.
- 放第一塊硬盤, 9mm的HDD, 先像放第二塊硬盤一樣, 盡量水平往里放將硬盤推進格子里, 只要放進格子, 就可以往回挪, 很容易移動到下面, 安放時往左邊頂, 右邊留一點空間, 這樣硬盤接口就正好對着主板的插座了
- 放第二塊硬盤, 因為是7mm的SSD, 所以比較輕松, 但是在加金屬罩時, 上面的兩個螺絲就不容易吃到硬盤的螺絲孔了, 可以分別試試, 其實不擰上問題也不大
溫度顯示90多度
查看溫度時, 會發現有些溫度不正常, 下面標出的那兩個溫度94.0°C和98.0°C, 這是因為換的第三方硬盤沒有Apple專用的溫度檢測, 所以溫度數字不對.
$ sensors
coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +46.0°C (high = +86.0°C, crit = +100.0°C)
Core 0: +46.0°C (high = +86.0°C, crit = +100.0°C)
Core 1: +41.0°C (high = +86.0°C, crit = +100.0°C)
applesmc-isa-0300
Adapter: ISA adapter
Exhaust : 1800 RPM (min = 1800 RPM, max = 5500 RPM)
TA0P: +35.2°C # AMBIENT_TEMPERATURE
TA0p: +35.2°C # AMBIENT1_TEMPERATURE
TA1P: +37.0°C
TA1p: +37.0°C
TC0C: +38.0°C # CPU_DIE_CORE_TEMPERATURE Digital, CPU 0 Core
TC0D: +43.0°C # CPU_DIODE_TEMPERATURE Analog
TC0E: +40.2°C
TC0F: +41.2°C
TC0G: +94.0°C <---
TC0J: +1.0°C
TC0P: +40.2°C # CPU_PROXIMITY_TEMPERATURE
TC0c: +38.0°C
TC0d: +43.0°C
TC0p: +40.2°C
TC1C: +38.0°C # Core 1
TC1c: +38.0°C
TCGC: +38.0°C # CPU_PECI_CORE_TEMPERATURE, PECI GPU
TCGc: +38.0°C # PECI_GFX_TEMPERATURE
TCPG: +98.0°C <---
TCSC: +38.0°C # PECI_SA_TEMPERATURE, PECI SA
TCSc: +38.0°C
TCTD: -0.2°C
TCXC: +38.0°C # PECI CPU
TCXc: +38.0°C
TI0P: +42.2°C
TI0p: +42.2°C
TI1P: +39.8°C
TI1p: +39.8°C
TM0P: +42.5°C # Memory Slot Proximity
TM0S: +42.2°C # Memory Slot 1
TM0p: +42.5°C
TMBS: +50.0°C
TP0P: +40.5°C
TP0p: +40.5°C
TPCD: +44.0°C # Platform Controller Hub Die
TW0P: +34.5°C # AirPort Proximity
TW0p: +34.5°C
Tp0C: +36.2°C