Arch + Win10 EFI 引导重装记录

Lenovo G50-70 BCM43142网卡,Win10原版镜像。

主板调成EFI启动。

制作Win10启动盘,打开Rufus。

按左边电源边的小按钮,选择Boot Menu,选择EFI USB Device,进入Win10安装界面,一路下一步,直到分区。

Shift+Fn+F10调出命令行
diskpart启动分区管理工具
list disk列出磁盘
Select disk n选中磁盘(n是磁盘号,我这里是0)
clean清除磁盘数据
convert gpt磁盘转换为gpt格式
exit退出分区管理工具
exit退出命令行
在可视化分区管理处刷新,然后进行分区。

然后选中作为C盘的盘下一步。

用Rufus刻录Arch盘。插网线

验证网络是否连通
#ping -c 3 archlinux.org

更新时间
#timedatectl set-ntp true

列出磁盘
#lsblk

选择磁盘进行分区,不分/boot,因为将挂载Windows的efi分区(这里使用/dev/sda)
#fdisk /dev/sda

在fdisk中分别键入
分交换分区: n,回车键,回车键,+2G
/: n,回车键,回车键,+60G
/tmp: n,回车键,回车键,+5G,(这里分了一个/tmp分区,默认分的/tmp很小,否则在装AS时需要临时挂载U盘作为/tmp)
/home: n,回车键,回车键,回车键,
w,至此,分区完成。

格式化分区
#mkswap /dev/sda8
#mkfs.ext4 /dev/sda9#mkfs.ext4 /dev/sda10#mkfs.ext4 /dev/sda11`

挂载分区
首先挂载根分区
#mount /dev/sda9 /mnt

使用swap分区
#swapon /dev/sda8

挂载/tmp与/home
#mkdir /mnt/tmp
#mount /dev/sda10 /mnt/tmp
#mkdir /mnt/home
#mount /dev/sda11 /mnt/home

此处还要挂载Windows所分出的EFI分区
#mkdir -p /mnt/boot/efi
#mount /dev/sda2 /mnt/boot/efi

选择镜像源
#vim /etc/pacman.d/mirrorlist
文件开头加入阿里源
Server = http://mirrors.aliyun.com/archlinux/$repo/os/$arch

安装基本系统
#pacstrap /mnt base

生成fstab
#genfstab -U /mnt >> /mnt/etc/fstab

切换到新系统
#arch-chroot /mnt

设置时区
#ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

删除/etc/locale.gen中需要使用的行前的注释符#
建议使用en_US.UTF-8 UTF-8

生成locale信息
#locale-gen

创建locale.conf
#echo LANG=en_US.UTF-8 > /etc/locale.conf

修改主机名
#echo studio > /etc/hostname

修改/etc/hosts如下

127.0.0.1   localhost
::1     localhost
127.0.1.1   studio.localdomain studio

设置root密码
#passwd

安装grub引导
#pacman -S dosfstools grub efibootmgr
#grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck
#grub-mkconfig -o /boot/grub/grub.cfg

安装完成,退出chroot
#exit

重启
#umount -R /mnt
#reboot

重启后自动进入Arch插入网线还是没网
查看网卡
#ip link
此处为 ens1s0
启用网卡
#ip link set ens1s0 up
#systemctl enable dhcpcd.service
#systemctl start dhcpcd.service
等待一会 ping 一下

先创建一个普通用户
# useradd -m -s /bin/bash seliote

接下来安装X Window 以及登陆管理器
#pacman -S xorg xorg-server xorg-xinit xf86-video-ati xfce4 wqy-zenhei sddm
设置登陆管理器自启, sddm 默认不允许 root 登陆
#system enable sddm

下面安装无线网卡驱动
#vim /etc/pacman.conf
最末加入以下内容

[archlinuxcn]
SigLevel = Optional TrustAll
Server = http://repo.archlinuxcn.org/$arch

更新源
#pacman -Syy
安装驱动
#pacman -S linux-headers broadcom-wl-dkms rfkill
重启

以下控制台以及 xfce 无线管理方式二选一

控制台使用 WiFi 的步骤
安装 wifi-menu
#pacman -S dialog wpa_supplicant
#ip link
查看无线网卡,此处得到wlp2s0
#rfkill unblock all
#ip link set wlp2s0 down
#wifi-menu
即可使用
以后使用WiFi步骤为
#ip link set wlp2s0 down
#wifi-menu
重新连接
#rfkill unblock all
#ip link set wlp2s0 up
#wifi-menu

xfce 使用 WiFi 的步骤
#pacman -S network-manager-applet
#systemctl enable NetworkManager
#systemctl disable netctl(如果有开启的话,默认没开)
#rfkill unblock all
#ip link set wlp2s0 up
然后在图形界面使用

Grub中添加Windows引导
#grub-probe --target=fs_uuid $esp/boot/efi/EFI/Microsoft/Boot/bootmgfw.efi 获取到$UUID
#grub-probe --target=hints_string $esp/EFI/Microsoft/Boot/bootmgfw.efi 获取$hints_string
编辑文件 # vim /boot/grub/grub.cfg,在行 ### END /etc/grub.d/10_linux ### 前加入

menuentry 'Windows 10' {  
    insmod part_gpt  
    insmod fat  
    insmod search_fs_uuid  
    insmod chain  
    search --fs-uuid --set=root $hints_string $UUID
    chainloader /efi/Microsoft/Boot/bootmgfw.efi  
}

将其中$hints_string与$UUID替换为前文得到的
重启则加入了Win10引导

去除烦人的beep声
#rmmod pcspkr
#echo "blacklist pcspkr" > /etc/modprobe.d/nobeep.conf

去除静音
#sudo vim /etc/asound.conf 加入

defaults.pcm.card 1
defaults.pam.device 0
defaults.ctl.card 1

安装声卡管理器
#pacman -S alsa-utils
#sudo alsamixer
按F6选择第二个声卡(第三行),按 m 挨个去除所有的静音

这个这次安装发现并不必要,还是留下来以备后面使用
把装不上驱动的AMD显卡扔进blacklist里(还有个方法是在 BIOS 里直接禁用掉独显)
#sudo vim /etc/modprobe.d/noradeon.conf

install radeon /bin/false
install amdgpu /bin/false

#sudo mkinitcpio -p linux

PS1 的设置 #vim ~/.bashrc

PMT_COLOR="\[$(tput bold)$(tput setab 0)$(tput setaf 2)\]"
PMT_RESET="\[$(tput sgr0)\]"
export PS1="${PMT_COLOR}\u \A \w >>>${PMT_RESET} "

~~

安装几个xfce插件,网速以及截图
#pacman -S xfce4-netload-plugin xfce4-screenshooter

设置几个快捷方式
Setting -> KeyBoard -> Application Shortcuts
amixer set Master 100%- 是静音键
amixer set Master 5%+ 是音量加
amixer set Master 5%- 是音量减
xfce4-screenshooter -fm -s Pictures/Screenshooter 是截图键

解决双系统下不同时间标准导致时间错乱,此处更改的是 Linux 的
# timedatectl set-local-rtc 1

设置 grub 等待时长
#vim /boot/grub/grub.cfg
找到
set timeout=5
5 修改为指定的数值

安装并修改一下 SSH 配置,避免连接服务器一段时间不操作自动断开
#pacman -S openssh
#vim /etc/ssh/sshd_config
查找ClientAliveInterval
取消行前注释并设置 30 秒发送一次心跳包
ClientAliveInterval 30

之后安装 keyring 可能会报错,解决方案如下
#pacman -Syu haveged
#systemctl start haveged
#systemctl enable haveged
#rm -fr /etc/pacman.d/gnupg
#pacman-key --init
#pacman-key --populate archlinux
#pacman-key --populate archlinuxcn
#pacman -S archlinux-keyring && pacman -S archlinuxcn-keyring

装个中文输入法
#pacman -S fcitx-im fcitx-configtool fcitx-googlepinyin
选择依赖的时候那几个 gtk 的和 qt 的都需要装,否则会没有输入框
安装完成后重新登录,右键右上角输入法标志,进入configuration,左下角加号,取消勾选Only Show Current Language,添加google-pinyin,默认的english需要留下,否则输入不了英文

IDEA系列所有的软件都无法输入中文,解决IDEA系列的问题
#sudo vim /opt/android-studio/bin/studio.sh
文件开始处添加

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx

安装Android Studio
#pacman -S android-studio
之后模拟器启动不了
#sudo ln -sf /usr/lib/libstdc++.so.6 ~/Android/Sdk/emulator/lib64/libstdc++/libstdc++.so.6
要用真机调试,手机打开USB调试
#pacman -S android-tools android-udev
#sudo usermod -a -G adbusers seliote
#sudo gpasswd -a seliote adbusers

AS今天滚完报错 Emulator: /home/seliote/Android/Sdk/emulator/qemu/linux-x86_64/qemu-system-x86_64: error while loading shared libraries: libpulse.so.0: cannot open shared object file: No such file or directory
解决办法是 #pacman -S libpulse

安装网易云
#sudo vim /etc/pacman.conf
删除 /etc/pacman.conf 中 [archlinuxcn] 下的 SigLevel= 行,以使用默认设置
#pacman -Syy
#pacman -Syu
#pacman -S archlinuxcn-keyring
#pacman -S netease-cloud-music
恕我直言,内存泄漏真可怕,音乐列表滑动也严重卡顿,听个响
#pacman -Rs netease-cloud-music

为写个服务端PHP爬虫,本地搭建LNMP,因为LNMP用的比较少,所以全部没有设置服务自启
安装Nginx主线版本
#pacman -S nginx-mainline
手动启动Nginx
#sudo systemctl start nginx
浏览器进入127.0.0.1看Nginx是否安装成功
安装MariaDB
#pacman -S mariadb
执行自安装程序
#sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
启动
#sudo systemctl start mysqld
安全启动,按照提示设置root密码等
#sudo mysql_secure_installation
安装PHP 7
#pacman -S php-fpm
为Nginx配置PHP,去掉前面的分号并改为如下
#sudo vim /etc/nginx/nginx.conf

line65:   location ~ \.php$ {
line66:               root           /usr/share/nginx/html;
line67:               fastcgi_pass   unix:/run/php-fpm/php-fpm.sock;
line68:               fastcgi_index  index.php;
line69:               fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
line70:               include        fastcgi_params;
line71:   }

启动PHP
#sudo systemctl start php-fpm
写一个PHP文件然后用浏览器测试一下
#sudo vim /usr/share/nginx/html/index.php

设置PHP扩展,找到下面文件的这两行,去掉前面的分号

#sudo vim /etc/php/php.ini

;extension=mysqli
...
;extension=pdo_mysql

重启配置过的服务
#sudo systemctl reload nginx
#sudo systemctl reload php-fpm
添加LNMP快捷启动与停止shell bash
#vim ~/.bashrc

alias lnmp_start='sudo systemctl start mysqld ; sudo systemctl start nginx ; sudo systemctl start php-fpm'
alias lnmp_stop='sudo systemctl stop mysqld ; sudo systemctl stop nginx ; sudo systemctl stop php-fpm'

安装Tomcat
pacman -S tomcat8
sudo gpasswd -a seliote tomcat8
sudo vim /etc/tomcat8/tomcat-users.xml



sudo vim /etc/tomcat8/web.xml




    compilerSourceVM
    1.8


    compilerTargetVM
    1.8

快捷启动
vim ~/.bashrc

alias java_web_start='sudo systemctl start tomcat8; sudo systemctl start mysqld'
alias java_web_start='sudo systemctl stop tomcat8; sudo systemctl stop mysqld'
export JAVA_WEB_PATH="/var/lib/tomcat8/webapps"

idea 报错,权限不够
sudo chmod -R 777 /etc/tomcat8

最近做C#开发, 每次GRUB引导后都要手动选择排在第三的Win很不方便, 修改一下吧
#sudo vim /boot/grub/grub.cfg
然后查找set default = 0, 修改为set default = 2重启即可

做完ARCH镜像后U盘会出问题,Win下cmd,diskpart,list disk,select disk n,clean,然后打开计算机右键管理,磁盘管理,右键磁盘,新建简单卷,然后下一步就OK

-------------------------------------------我是分割线----------------------------------------

2019.01.02 系统滚挂了,wifi_menu 提示 no network found。距离上次安装正好差一个月一年,记录一下修复过程。

  • 查看更新记录,寻找可能导致滚挂的包 $ sudo vim /var/log/pacman.log,比如这里日志的 [2019-01-02 11:48] [ALPM] upgraded wpa_supplicant (1:2.6-12 -> 1:2.7-1)

  • 如果之前没有删过缓存包的话 $ sudo pacman -U /var/cache/pacman/pkg/.... 即可回滚,可惜我删了。

  • 电脑插上网线或者手机共享一下网络

  • 去 这里 找旧版的 tar.gz 并下载,解压 $ tar -zxvf packages-aaccde99f510add8851ca05febe9cca64406a27d.tar.gz

  • 进入子目录 $ cd packages-aaccde99f510add8851ca05febe9cca64406a27d/repos/core-x86_64/

  • 尝试打包 $ makepkg,我这里报错 ==> ERROR: One or more PGP signatures could not be verified! 签名不对,那就别校验了,$ makepkg --skippgpcheck

  • 安装打包后的软件 $ sudo pacman -U wpa_supplicant-1:2.6-12-x86_64.pkg.tar.xz

  • 重启测试一下 WiFi 能不能用了,OK 后忽略这个软件包的升级,$ vim /etc/pacman.conf 添加或新增 IgnorePkg = wpa_supplicant

转载于:https://www.cnblogs.com/seliote/p/9313690.html

你可能感兴趣的:(开发工具,php,运维)