先用Linux Mint的Live開機,然後用rsync對拷資料過去新硬碟(記得先格式化):
rsync -axHAWXS --numeric-ids --info=progress2 /old-disk/ /new-disk/
然後記得修改新碟碟中的/etc/fstab,對應正確的UUID,查UUID的方法:
blkid
Ubuntu搬移至新系統後,開機不正常一般可以用boot-repair來修復:
https://help.ubuntu.com/community/Boot-Repair
選擇reinstall grub就好,不需要purge grub,記得安裝位置及開機位置要選對(都選新碟碟)
開機進新系統後,再修復一下開機選單:
sudo update-grub
sudo update-initramfs -ukall
不過比較令人困擾的是若是選擇purge grub,
memtest86+ 及中文開機選單會不見,因此必須重裝回來:
sudo apt-get purge memtest86+
sudo apt-get memtest86+ language-pack-zh-hant
sudo cp /usr/share/locale-langpack/zh_TW/LC_MESSAGES/grub.mo /boot/grub/locale/zh_TW.mo
Mint 19.3由於新增了開機佈景主題,還需修改一個地方,讓中文顯示正常:
sudo vi /etc/default/grub.d/60_mint-theme.cfg
修改為 GRUB_FONT="/boot/grub/fonts/unicode.pf2"
用locale檢查環境變數(或檢查/etc/default/locale),需為:
LANG=zh_TW.UTF-8
LANGUAGE=zh_TW:zh
若不是請到偏好設定/語言去修改,
或下指令:
sudo update-locale LANG="zh_TW.UTF-8" LANGUAGE="zh_TW:zh"
sudo dpkg-reconfigure locales
sudo locale-gen zh_TW.UTF-8
更新grub:
sudo update-grub
2019-12-23
2019-12-19
SSH X11Forwarding在LInux Mint(Ubuntu)的設定
本機:
加-X表示啟用X11 Forwarding
ssh -X yourname@domain.com
遠端:
vi /etc/ssh/sshd_config
===============
X11Forwarding yes
X11UseLocalhost no
===============
sudo systemctl restart sshd.service
vi ~/.xprofile
===============
export QT_IM_MODULE=fcitx
export GTK_IM_MODULE=fcitx
export XMOIFIERS="@im=fcitx"
===============
vi ~/.profile
===============
source ~/.xprofile
fcitx -d &
===============
再重新登出登入,試試libreoffice,看看是否能正確顯示畫面跟啟用輸入法:
soffice --writer
加-X表示啟用X11 Forwarding
ssh -X yourname@domain.com
遠端:
vi /etc/ssh/sshd_config
===============
X11Forwarding yes
X11UseLocalhost no
===============
sudo systemctl restart sshd.service
vi ~/.xprofile
===============
export QT_IM_MODULE=fcitx
export GTK_IM_MODULE=fcitx
export XMOIFIERS="@im=fcitx"
===============
vi ~/.profile
===============
source ~/.xprofile
fcitx -d &
===============
再重新登出登入,試試libreoffice,看看是否能正確顯示畫面跟啟用輸入法:
soffice --writer
Linux MInt 19 (Ubuntu 18.04) 使用指紋辨識
X61s的指紋辨識器型號是 UPEK/Thomson (0483:2016),可以被thinkfinger或fprint支援,以下安裝fprint
sudo apt install libpam-fprintd fprint-demo
fprintd-enroll //預設右食指,-f參數可指定手指(right-middle-finger, right-ring-finger)
pam-auth-update //fingerprint auth打勾
fprint_demo //測試辨識器是否正常
ref:
https://askubuntu.com/questions/511876/how-do-i-install-a-fingerprint-reader-on-lenovo-thinkpad
https://askubuntu.com/questions/1107755/fingerprint-reader-in-ubuntu-18-04
http://www.thinkwiki.org/wiki/How_to_enable_the_integrated_fingerprint_reader
http://www.thinkwiki.org/wiki/Integrated_Fingerprint_Reader
sudo apt install libpam-fprintd fprint-demo
fprintd-enroll //預設右食指,-f參數可指定手指(right-middle-finger, right-ring-finger)
pam-auth-update //fingerprint auth打勾
fprint_demo //測試辨識器是否正常
ref:
https://askubuntu.com/questions/511876/how-do-i-install-a-fingerprint-reader-on-lenovo-thinkpad
https://askubuntu.com/questions/1107755/fingerprint-reader-in-ubuntu-18-04
http://www.thinkwiki.org/wiki/How_to_enable_the_integrated_fingerprint_reader
http://www.thinkwiki.org/wiki/Integrated_Fingerprint_Reader
2019-12-16
X61/X61s + Linux Mint 19.2 (Ubuntu 18.04) 安裝 Crystal HD (BCM70015) 硬體解壓縮卡
最近淘了台ThinkPad X61s來懷舊,想說這2007年的硬體播放1080p影片可能不太行,於是花了NT.200買了個Broadcom Crystal HD (BCM70015)硬體解壓縮卡來玩玩,不過要注意的是,影片格式、解析度、比特率不能超過以下限制,否則影片透過硬解後可能會撥不出來:
H.264/AVC HP at L 5.1 1080p/1080i, 40 Mbps
SMPTE VC-1 AP at L 3 1080p/1080i, 40 Mbps
WMV9 (VC-1 SP and MP)
MPEG-2 MP @ ML and HL, 80 Mbps
DivX 3.11, 4.1, 5.X, 6.X, XviD
安裝環境:Linux Mint 19.2 (Ubuntu 18.04), kernel 4.18.0-25
0.因為X61/X61s是用GM965/GL960內顯,
因此先更新為最新i915 driver (xserver-xorg-video-intel)
(此步驟可不做,若opengl呼叫有問題,可試著更新內顯驅動):
sudo add-apt-repository ppa:oibaf/graphics-drivers
sudo apt-get update
sudo apt dist-upgrade
1.先安裝crystalhd driver,可選擇用modprobe或dkms的方式:
modprobe方式:
git clone https://github.com/dbason/crystalhd.git
cp -f /usr/src/crystalhd-0.1/driver/linux/20-crystalhd.rules /lib/udev/rules.d/ <--勿省略,以免非root使用者無法開啟設備
2.檢查crystal hd是否有正確載入driver:
lsmod | grep crystalhd
-> crystalhd 110592 0
dmesg | grep crystalhd
->...
->[810.638520] crystalhd 0000:02:00.0 Starting Device:0x1615
3.安裝smplayer, mpv, gstreamer1.0-crystalhd, libcrystalhd3
apt-get install smplayer mpv gstreamer1.0-crystalhd libcrystalhd3
(VLC測試撥放會說 buffer deadlock prevented 而失敗,因此改用smplayer+mpv)
4 .重開機,抓個測試影片來測試:
http://jell.yfish.us/media/jellyfish-40-mbps-hd-h264.mkv
直接先用mpv來撥放(其中--vo=可改gl, sdl, xv試試):
mpv --hwdec=crystalhd --vo=gl jellyfish-40-mbps-hd-h264.mkv
-> DtsDeviceOpen: Opeining HW in mode 0
-> Enable single threaded mode
使用smplayer透過mpv播放:
exit(離開root bash)
smplayer(開啟smplayer)
Options/Preferences/General
General/Multimedia engine: mpv
Options/Preferences/Performance
Allow frame drop 勾選
Allow hard frame drop 勾選
Performance/Decoding/Hardware decoding: crystalhd
再用smplayer播放 jellyfish-40-mbps-hd-h264.mkv
檢視選單 View/Mplayer/mpv log
看看是否有跟mpv播放一樣的log
或者改直接播youtube試試:
sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl
mpv --hwdec=crystalhd https://www.youtube.com/watch?v=i0p1bmr0EmE
5.若要移除cyrstalhd driver, 可照以下步驟:
H.264/AVC HP at L 5.1 1080p/1080i, 40 Mbps
SMPTE VC-1 AP at L 3 1080p/1080i, 40 Mbps
WMV9 (VC-1 SP and MP)
MPEG-2 MP @ ML and HL, 80 Mbps
DivX 3.11, 4.1, 5.X, 6.X, XviD
安裝環境:Linux Mint 19.2 (Ubuntu 18.04), kernel 4.18.0-25
0.因為X61/X61s是用GM965/GL960內顯,
因此先更新為最新i915 driver (xserver-xorg-video-intel)
(此步驟可不做,若opengl呼叫有問題,可試著更新內顯驅動):
sudo add-apt-repository ppa:oibaf/graphics-drivers
sudo apt-get update
sudo apt dist-upgrade
1.先安裝crystalhd driver,可選擇用modprobe或dkms的方式:
先安裝必要工具:
sudo apt-get install checkinstall git-core autoconf build-essential subversion dpkg-dev fakeroot pbuilder build-essential dh-make debhelper devscripts patchutils quilt git-buildpackage pristine-tar git yasm zlib1g-dev zlib-bin libzip-dev libx11-dev libx11-dev libxv-dev vstream-client-dev libgtk2.0-dev libpulse-dev libxxf86dga-dev x11proto-xf86dga-dev git libgstreamermm-0.10-dev libgstreamer0.10-dev automake libtool python-appindicator
modprobe方式:
git clone https://github.com/dbason/crystalhd.git
cd crystalhd/driver/linux
autoconf
./configure
make
sudo make install
cd ../../linux_lib/libcrystalhd/
make
sudo make install
sudo make -C firmware install
sudo modprobe crystalhd
sudo modprobe crystalhd
dkms方式:
git clone https://github.com/dbason/crystalhd.git /usr/src/
mv /usr/src/crystalhd /usr/src/crystalhd-0.1
mv /usr/src/crystalhd /usr/src/crystalhd-0.1
cd /usr/src/crystalhd-0.1/linux_lib/libcrystalhd/
make
sudo make install
dkms add -m crystalhd -v 0.1
dkms build -m crystalhd -v 0.1
dkms install -m crystalhd -v 0.1
dkms build -m crystalhd -v 0.1
dkms install -m crystalhd -v 0.1
cp -f /usr/src/crystalhd-0.1/driver/linux/20-crystalhd.rules /lib/udev/rules.d/ <--勿省略,以免非root使用者無法開啟設備
2.檢查crystal hd是否有正確載入driver:
lsmod | grep crystalhd
-> crystalhd 110592 0
dmesg | grep crystalhd
->...
->[810.638520] crystalhd 0000:02:00.0 Starting Device:0x1615
3.安裝smplayer, mpv, gstreamer1.0-crystalhd, libcrystalhd3
apt-get install smplayer mpv gstreamer1.0-crystalhd libcrystalhd3
(VLC測試撥放會說 buffer deadlock prevented 而失敗,因此改用smplayer+mpv)
4 .重開機,抓個測試影片來測試:
http://jell.yfish.us/media/jellyfish-40-mbps-hd-h264.mkv
直接先用mpv來撥放(其中--vo=可改gl, sdl, xv試試):
mpv --hwdec=crystalhd --vo=gl jellyfish-40-mbps-hd-h264.mkv
-> DtsDeviceOpen: Opeining HW in mode 0
-> Enable single threaded mode
使用smplayer透過mpv播放:
exit(離開root bash)
smplayer(開啟smplayer)
Options/Preferences/General
General/Multimedia engine: mpv
Options/Preferences/Performance
Allow frame drop 勾選
Allow hard frame drop 勾選
Performance/Decoding/Hardware decoding: crystalhd
再用smplayer播放 jellyfish-40-mbps-hd-h264.mkv
檢視選單 View/Mplayer/mpv log
看看是否有跟mpv播放一樣的log
或者改直接播youtube試試:
sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl
mpv --hwdec=crystalhd https://www.youtube.com/watch?v=i0p1bmr0EmE
5.若要移除cyrstalhd driver, 可照以下步驟:
modprobe:
modprobe -r crystalhd
dkms:
dkms remove crystalhd/0.1 --all
不過最後發現i915內顯驅動似乎仍有問題,造成opengl輸出的buffer無法建立,因此1080p用硬解後mpv播放反而更卡...後來發現改用smplayer+mplayer播放超順!算了就這樣吧 囧
ref:
https://wiki.archlinux.org/index.php/Intel_graphics
https://gist.github.com/Brainiarc7/aa43570f512906e882ad6cdd835efe57
http://rocksaying.tw/archives/2015/Linux_DKMS_%E6%A9%9F%E5%88%B6%E5%B0%8E%E5%85%A5%E7%AD%86%E8%A8%98.html
https://kodi.wiki/view/Broadcom_Crystal_HD
https://www.pcdvd.com.tw//showthread.php?t=906270&page=1&pp=10
https://github.com/dbason/crystalhd
https://github.com/agx/libcrystalhd/blob/master/src/libcrystalhd_if.c
http://jell.yfish.us/
https://askubuntu.com/questions/1082499/how-to-get-and-install-intel-i915-drivers-on-ubuntu-18-04
https://wiki.archlinux.org/index.php/Mpv_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
https://mpv.io/manual/stable/#video-output-drivers
modprobe -r crystalhd
dkms:
dkms remove crystalhd/0.1 --all
不過最後發現i915內顯驅動似乎仍有問題,造成opengl輸出的buffer無法建立,因此1080p用硬解後mpv播放反而更卡...後來發現改用smplayer+mplayer播放超順!算了就這樣吧 囧
ref:
https://wiki.archlinux.org/index.php/Intel_graphics
https://gist.github.com/Brainiarc7/aa43570f512906e882ad6cdd835efe57
http://rocksaying.tw/archives/2015/Linux_DKMS_%E6%A9%9F%E5%88%B6%E5%B0%8E%E5%85%A5%E7%AD%86%E8%A8%98.html
https://kodi.wiki/view/Broadcom_Crystal_HD
https://www.pcdvd.com.tw//showthread.php?t=906270&page=1&pp=10
https://github.com/dbason/crystalhd
https://github.com/agx/libcrystalhd/blob/master/src/libcrystalhd_if.c
http://jell.yfish.us/
https://askubuntu.com/questions/1082499/how-to-get-and-install-intel-i915-drivers-on-ubuntu-18-04
https://wiki.archlinux.org/index.php/Mpv_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
https://mpv.io/manual/stable/#video-output-drivers
標籤:
bcm70015,
crystal hd,
linux mint,
ubuntu
2019-11-10
安裝 VSCode + Golang 開發環境
1.安裝 golang-go:
sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt-get update
sudo apt-get install golang-go
2.設定環境變數GOPATH
vi ~/.profile
加入:
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$PATH
再執行:
source ~/.profile
3.建立 ~/go 資料夾,也就是剛剛設定的GOPATH路徑
4. VSCode安裝vscode-go套件:
https://marketplace.visualstudio.com/items?itemName=ms-vscode.Go
按F1或 ctrl+ shift +p,執行 Go:install/update Tools,打勾所有工具並安裝
5.建立個專案資料夾,如~/go/src/hello,並在資料夾內寫一個hello.go,
並在terminal執行:
go build
./hello
或直接執行go run hello.go
看能不能正常執行
ref:
https://github.com/golang/go/wiki/Ubuntu
https://marketplace.visualstudio.com/items?itemName=ms-vscode.Go
https://github.com/Microsoft/vscode-go/wiki
sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt-get update
sudo apt-get install golang-go
2.設定環境變數GOPATH
vi ~/.profile
加入:
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$PATH
再執行:
source ~/.profile
3.建立 ~/go 資料夾,也就是剛剛設定的GOPATH路徑
4. VSCode安裝vscode-go套件:
https://marketplace.visualstudio.com/items?itemName=ms-vscode.Go
按F1或 ctrl+ shift +p,執行 Go:install/update Tools,打勾所有工具並安裝
5.建立個專案資料夾,如~/go/src/hello,並在資料夾內寫一個hello.go,
並在terminal執行:
go build
./hello
或直接執行go run hello.go
看能不能正常執行
ref:
https://github.com/golang/go/wiki/Ubuntu
https://marketplace.visualstudio.com/items?itemName=ms-vscode.Go
https://github.com/Microsoft/vscode-go/wiki
2019-10-19
Linux Mint 19 (Ubuntu 18.04) 設定VNC Server
以下以Linux Mint 19 XFCE (Ubuntu 18.04)為範例:
#安裝vnc4server套件及gnome桌面套件(遠端gnome桌面)
sudo apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal vnc4server
若要使用xfce桌面,改安裝以下套件:
sudo apt-get install xfce4 xfce4-goodies vnc4server
#啟動vncserver,此時會要求輸入密碼,並建立~/.vnc/xstartup 連線初始化檔案
vncserver
#修改~/.vnc/xstartup 連線初始化檔案,選擇連線時桌面環境(請依系統桌面修改)
#!/bin/sh
#export XKL_XMODMAP_DISABLE=1
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4 #xfce4桌面
#exec gnome-session #gnome桌面
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
#以下為使用 gnome 桌面的額外設定
#gnome-panel &
#gnome-settings-daemon &
#metacity &
#nautilus &
#gnome-terminal &
#建立 ~/.vnc/config ,設定vncserver啟動參數,加入以下設定:
#localhost=no #設定對外部網路監聽
geometry=1920x1080 #設定解析度
alwaysshared #設定可多重連線
#新增 /etc/systemd/system/vncserver@:1.service,讓vncserver能自啟動
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
User=foo
Group=foo
#PAMName=login
PIDFile=/home/%u/.vnc/%H%i.pid
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver %i -geometry 1440x900 -alwaysshared -fg
ExecStop=/usr/bin/vncserver -kill %i
[Install]
WantedBy=multi-user.target
#啟用、啟動、停止 vncserver.service
sudo systemctl enable vncserver.service
sudo systemctl start vncserver.service
sudo systemctl stop vncserver.service
#重開機後,檢查一下是不是port 5901有正常在所有網卡介面(0.0.0.0)監聽
netstat -tnlup
#vnc遠端連線測試:
sudo apt-get install vncviewer
vncviewer my-vnc-server-ip:5901
或用remmina連線 my-vnc-server-ip:5901 測試
ref:
https://askubuntu.com/questions/475023/how-to-make-vnc-server-work-with-ubuntu-desktop-without-xfce
https://wiki.archlinux.org/index.php/TigerVNC
#安裝vnc4server套件及gnome桌面套件(遠端gnome桌面)
sudo apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal vnc4server
若要使用xfce桌面,改安裝以下套件:
sudo apt-get install xfce4 xfce4-goodies vnc4server
#啟動vncserver,此時會要求輸入密碼,並建立~/.vnc/xstartup 連線初始化檔案
vncserver
#修改~/.vnc/xstartup 連線初始化檔案,選擇連線時桌面環境(請依系統桌面修改)
#!/bin/sh
#export XKL_XMODMAP_DISABLE=1
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4 #xfce4桌面
#exec gnome-session #gnome桌面
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
#以下為使用 gnome 桌面的額外設定
#gnome-panel &
#gnome-settings-daemon &
#metacity &
#nautilus &
#gnome-terminal &
#建立 ~/.vnc/config ,設定vncserver啟動參數,加入以下設定:
#localhost=no #設定對外部網路監聽
geometry=1920x1080 #設定解析度
alwaysshared #設定可多重連線
#新增 /etc/systemd/system/vncserver@:1.service,讓vncserver能自啟動
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
User=foo
Group=foo
#PAMName=login
PIDFile=/home/%u/.vnc/%H%i.pid
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver %i -geometry 1440x900 -alwaysshared -fg
ExecStop=/usr/bin/vncserver -kill %i
[Install]
WantedBy=multi-user.target
#啟用、啟動、停止 vncserver.service
sudo systemctl enable vncserver.service
sudo systemctl start vncserver.service
sudo systemctl stop vncserver.service
#重開機後,檢查一下是不是port 5901有正常在所有網卡介面(0.0.0.0)監聽
netstat -tnlup
#vnc遠端連線測試:
sudo apt-get install vncviewer
vncviewer my-vnc-server-ip:5901
或用remmina連線 my-vnc-server-ip:5901 測試
ref:
https://askubuntu.com/questions/475023/how-to-make-vnc-server-work-with-ubuntu-desktop-without-xfce
https://wiki.archlinux.org/index.php/TigerVNC
標籤:
linux mint,
ubuntu,
vnc
2019-10-15
VirtualBox 5 安裝 macOS High Sierra
因為有跨平台開發的需求,所以Windows、GNU/Linux、macOS都習慣裝VM來做測試,其中以安裝macOS最麻煩...
就自已的經驗,用vmware安裝macos最穩定好裝,virtualbox裝macos則問題非常多,可以的話推薦用vmware,這裡用virtualbox裝只是想試試是否相容性有進少步(結果證明是自找麻煩)
以下為安裝High Sierra步驟,若要安裝Mojave或Catalina應該也行,只是VirtualBox的macOS預設最高版本只能選High Sierra,因此以安裝High Sierra為範例。
0.安裝VirtualBox及其extension pack:
https://www.virtualbox.org/wiki/Downloads
1.下載作業系統:
若在APP Store找不到你要的作業系統,可利用mas找出並下載曾經下載過的macOS:
https://github.com/mas-cli/mas
各版本代號如下:
macOS 10.7 Lion – 444303913
macOS 10.8 Mountain Lion – 537386512
macOS 10.9 Mavericks – 675248567
macOS 10.10 Yosemite – 915041082
macOS 10.11 El Capitan – 1147835434(適用無法升級10.12的舊機型)
macOS 10.11 El Capitan – 1018109117
macOS 10.12 Sierra – 1127487414
macOS 10.13 High Sierra – 1246284741
2.將作業系統APP轉為ISO檔:
假設作業系統APP已經下載應用程式中,執行以下指令:
此時桌面會產生HighSierra.iso,將它複製到要安裝VM的電腦上
3.新增VirtualBpx VM,作以下設定:
5.將VM開機,此時會從光碟開機,並進入安裝畫面,這邊開始就是重點:
先開啟磁碟工具,並將硬碟格式化成HFS+,千萬不要選APFS!
不然你的VM設定就要重來一遍了,因為VirtualBox 5不認識APFS, 裝了也只會是無法開機!
假設這裡你把硬碟取名為「Macintosh HD」
之後離開磁碟工具,再從上方選單打開終端機,並執行以下指令:
若遇到沒有反應,或顯示「程式已毀損」之類的,很可能又是開發者憑證時間過期的問題,下指令把時間往前調,如:
date 010100002018 或 date 010100002017
然後再重打安裝指令
此時會將安裝檔複製到硬碟中,複製完會重開機,
此時將VM立即關機並退出光碟,然後再次開機,就會進入到Shell畫面,執行以下指令:
打exit退出Shell
選擇 Boot Maintenance Manager > Boot From File >
選第二個EFI選項 > macOS Install Data > Locked Files > Boot Files > boot.efi
此時就會真正開始安裝macOS了!
6.安裝完系統,在macOS終端機執行以下指令以解除軟體安裝限制:
sudo spctl --master-disable
若你是用VirtualBox 6以上的版本安裝,直接從VirtualBox選單選擇插入Guest Additions光碟,並執行VBoxDarwinAdditions.pkg以安裝guest additions,裝完後若有問題可參考以下鏈結解決:
https://stackoverflow.com/questions/41691803/how-to-install-guest-addition-in-mac-os-as-guest-and-windows-machine-as-host/43715619
若是VirtualBox 5,執行以下指令以修正解析度:
VBoxManage setextradata "MacOS" VBoxInternal2/EfiGraphicsResolution 1920x1080
7.將自已加入vboxusers群組,以正常連接外部裝置(如usb裝置等):
sudo groupadd vboxusers
sudo usermod -aG vboxusers ${USER}
再重開機
就自已的經驗,用vmware安裝macos最穩定好裝,virtualbox裝macos則問題非常多,可以的話推薦用vmware,這裡用virtualbox裝只是想試試是否相容性有進少步(結果證明是自找麻煩)
以下為安裝High Sierra步驟,若要安裝Mojave或Catalina應該也行,只是VirtualBox的macOS預設最高版本只能選High Sierra,因此以安裝High Sierra為範例。
0.安裝VirtualBox及其extension pack:
https://www.virtualbox.org/wiki/Downloads
1.下載作業系統:
若在APP Store找不到你要的作業系統,可利用mas找出並下載曾經下載過的macOS:
https://github.com/mas-cli/mas
各版本代號如下:
macOS 10.7 Lion – 444303913
macOS 10.8 Mountain Lion – 537386512
macOS 10.9 Mavericks – 675248567
macOS 10.10 Yosemite – 915041082
macOS 10.11 El Capitan – 1147835434(適用無法升級10.12的舊機型)
macOS 10.11 El Capitan – 1018109117
macOS 10.12 Sierra – 1127487414
macOS 10.13 High Sierra – 1246284741
2.將作業系統APP轉為ISO檔:
假設作業系統APP已經下載應用程式中,執行以下指令:
hdiutil create -o /tmp/HighSierra.cdr -size 5530m -layout SPUD -fs HFS+J hdiutil attach /tmp/HighSierra.cdr.dmg -noverify -mountpoint /Volumes/install_build sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/install_build mv /tmp/HighSierra.cdr.dmg ~/Desktop/InstallSystem.dmg hdiutil detach /Volumes/Install\ macOS\ High\ Sierra hdiutil convert ~/Desktop/InstallSystem.dmg -format UDTO -o ~/Desktop/HighSierra.iso
mv ~/Desktop/HighSierra.iso.cdr ~/Desktop/HighSierra.iso rm ~/Desktop/InstallSystem.dmg
此時桌面會產生HighSierra.iso,將它複製到要安裝VM的電腦上
3.新增VirtualBpx VM,作以下設定:
- 新增虛擬機,名稱為MacOS,作業系統類型為 macOS 10.13 High Sierra (64-bit),動態硬碟至少60GB
- 系統 > 主機版 > 開機順序,取消軟碟
- 系統 > 主機版,至少4096mb記憶體
- 系統 > 處理器,選擇2核心
- 顯示 > 螢幕,設定128mb記憶體,2D/3D加速(要看你的電腦有無支援)
- 儲存 > 儲存裝置確定為 SATA/AHCI,並掛載剛剛產生的作業系統iso檔
VBoxManage modifyvm "MacOS" --cpuidset 00000001 000106e5 00100800 0098e3fd bfebfbff VBoxManage setextradata "MacOS" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac11,3" VBoxManage setextradata "MacOS" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0" VBoxManage setextradata "MacOS" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Iloveapple" VBoxManage setextradata "MacOS" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" VBoxManage setextradata "MacOS" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1
5.將VM開機,此時會從光碟開機,並進入安裝畫面,這邊開始就是重點:
先開啟磁碟工具,並將硬碟格式化成HFS+,千萬不要選APFS!
不然你的VM設定就要重來一遍了,因為VirtualBox 5不認識APFS, 裝了也只會是無法開機!
假設這裡你把硬碟取名為「Macintosh HD」
之後離開磁碟工具,再從上方選單打開終端機,並執行以下指令:
/Volumes/Image\ Volume/Install\ macOS\ High\ Sierra.app/Contents/Resources/startosinstall --volume Macintosh\ HD --converttoapfs NO --agreetolicense
若遇到沒有反應,或顯示「程式已毀損」之類的,很可能又是開發者憑證時間過期的問題,下指令把時間往前調,如:
date 010100002018 或 date 010100002017
然後再重打安裝指令
此時會將安裝檔複製到硬碟中,複製完會重開機,
此時將VM立即關機並退出光碟,然後再次開機,就會進入到Shell畫面,執行以下指令:
打exit退出Shell
選擇 Boot Maintenance Manager > Boot From File >
選第二個EFI選項 > macOS Install Data > Locked Files > Boot Files > boot.efi
此時就會真正開始安裝macOS了!
6.安裝完系統,在macOS終端機執行以下指令以解除軟體安裝限制:
sudo spctl --master-disable
若你是用VirtualBox 6以上的版本安裝,直接從VirtualBox選單選擇插入Guest Additions光碟,並執行VBoxDarwinAdditions.pkg以安裝guest additions,裝完後若有問題可參考以下鏈結解決:
https://stackoverflow.com/questions/41691803/how-to-install-guest-addition-in-mac-os-as-guest-and-windows-machine-as-host/43715619
若是VirtualBox 5,執行以下指令以修正解析度:
VBoxManage setextradata "MacOS" VBoxInternal2/EfiGraphicsResolution 1920x1080
7.將自已加入vboxusers群組,以正常連接外部裝置(如usb裝置等):
sudo groupadd vboxusers
sudo usermod -aG vboxusers ${USER}
再重開機
標籤:
high sierra,
macos,
osx,
virtualbox,
vm
訂閱:
文章 (Atom)