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 linux linux-firmware
生成fstab
#genfstab -U /mnt >> /mnt/etc/fstab
切换到新系统
#arch-chroot /mnt
装几个必要的
# pacman -S vim dhcpcd
设置时区
#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
passed seliote
接下来安装X Window 以及登陆管理器
#pacman -S xorg xorg-server xorg-xinit xf86-video-ati xfce4 wqy-zenhei sddm
设置登陆管理器自启, sddm 默认不允许 root 登陆
#systemctl enable sddm
下面安装无线网卡驱动
#vim /etc/pacman.conf
最末加入以下内容
没设置 SigLevel = Optional TrustAll
[archlinuxcn]
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/boot/efi/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 /home/seliote/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
#vim ~/.vimrc
set mouse=v
set number
set ts=4
set expandtab
set autoindent
syntax on
set hlsearch
set nowrapscan
装个中文输入法
#pacman -S fcitx-im fcitx-configtool
选择依赖的时候那几个 gtk 的和 qt 的都需要装,否则会没有输入框
安装完成后重新登录,右键右上角输入法标志,进入configuration,左下角加号,取消勾选Only Show Current Language,添加google-pinyin,默认的english需要留下,否则输入不了英文
添加环境变量
#sudo vim /etc/profile
文件开始结尾处添加
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
安装Android Studio
# pacman -S android-studio android-sdk
# sudo chmod -R 777 /opt/android-sdk
最好还是不要把 Android SDK 直接装吧,进了 Android Studio 后会自动下载
创建项目之后即便配置了 gradle 的本地仓库,但是部分还是不能用,需要设置全局代理
# export http_proxy='http://localhost:1080'
# export https_proxy='http://localhost:1080'
之后模拟器启动不了
#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
Markdown 编辑器用这个
# sudo pacman -S retext
安装网易云
#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
安装 TeamViewer 后还需要设置一下
# sudo pacman -S teamviewer
# sudo systemctl enable teamviewerd
为写个服务端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
echo 'Hello world!'
设置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
<!-- 添加管理用户,记得改密码 -->
<!-- </tomcat-users> 标签前一行添加 -->
<user username="admin" password="admin" roles="manager-gui,admin-gui" />
idea 报错,权限不够
#sudo chmod -R 777 /etc/tomcat8
#sudo chmod -R 777 /usr/share/tomcat8
快捷启动
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"
最近做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
Arch + Win10 EFI 引导重装记录的更多相关文章
- 一次修复linux的efi引导的集中方法总结记录
本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/grub_uefi_repair 起因:EFI分区被删除导致引导问 ...
- 实测win10 efi启动及centos7双系统引导顺序修改
安装win10 安装win10过程中,系统自动建立esp分区,分区格式为FAT16,目录如下 1,EFI/Boot文件夹保持不动 删除 EFI/Microsoft/boot/ 文件夹下面除BCD文件外 ...
- Arch Linux实体机安装记录
下面将记录笔者在戴尔笔记本安装arch linux的过程,用于记录,以便下次使用. 本文的内容参考arch linux官方Wiki. 首先,使用Power ISO把镜像安装到U盘,使用U盘安装. 通过 ...
- 使用EFI引导从硬盘(U盘)安装Win7的图文教程
目前仅支持vista后的64位系统 大部分使用EFI引导安装Win7的教程都是采用光盘启动安装,虽然光盘安装比较简单,但是对于没有光驱的朋友来说还是相当不便,更不用说光盘安装的两大缺点了,一速度慢,二 ...
- Mac OS 挂载 EFI 引导分区
正如Windows下的EFI分区一样在资源管理器中默认不显示EFI引导分区(即ESP分区),Mac OS也是如此,为了安全嘛,不让用户随意操作. 那么怎么挂载显示出来呢? 命令转自 https://b ...
- Arch Linux 硬盘引导-联网安装
Arch Linux 硬盘引导-联网安装 ============https://www.archlinux.org/https://wiki.archlinux.org/https://wiki.a ...
- 小米Pro 15.6 系统重装记录
参考链接:http://bbs.xiaomi.cn/t-14321262,主要是miui论坛和小米社区的一位同学的教程,. 这位同学是针对12.5和13.3的版本做的教程,15.6和之前的版本有一小点 ...
- 使用PXE+NFS EFI引导安装RHEL6/7以及Kickstart安装
PXE引导的步骤: 1.开机后选择网络启动,client端向server端的dhcpd发起获取IP地址的dhcp请求. 2.server端分配IP后,dhcpd会同时根据其配置文件,通过TFTP协议发 ...
- win10 EFI装ubuntu14.04双系统 及初始配置
这次第二次装ubuntu系统了,第一次是在win7下安装的,到了win10,由于用了efi,跟win7的安装方法不太相同,相同点有: 1.仍然可以用u盘启动,我用的是UltroISO这个软件. 2.装 ...
随机推荐
- ARM平台指令虚拟化初探
0x00:什么是代码虚拟化? 虚拟机保护是这几年比较流行的软件保护技术.这个词源于俄罗斯的著名软件保护软件“VmProtect”,以此为开端引起了软件保护壳领域的革命,各大软件保护壳都将虚拟机保护这一 ...
- react-native与原生界面相互跳转
一.添加MyIntentModule类,并继承ReactContextBaseJavaModule实现其方法和构造函数.在该类中添加方法,注意:方法头要加@ReactMethod public cla ...
- nginx配置vhost配置文件详解
//千锋PHP-PHP培训的实力派server { listen 80; server_name www.sina.com; root /data/www/sina; index index.php; ...
- MySQL入门很简单: 10 mysql运算符
1. 算术运算符 例子: 将t1表中字段a的值进行加法,减法和乘法 2. 比较运算符 注:LIKE经常和通配符"_"和"%"一起使用,"_" ...
- bpclntcmd一条神奇的命令,解决新安装nbu客户端无法连接的问题 (屡试不爽神命令)
1. bpclntcmd案例 bpclntcmd -clear_host_cache bpclntcmd – 测试 NetBackup 系统的功能,并在 NetBackup 客户端上启用光纤传输服务 ...
- Spring是如何管理Bean
容器是什么?spring中是如何体现的?一直有疑惑,这两天看了一下Spring管理bean的Demo,对于Spring中的容器有了简单的认识. 我们知道,容器是一个空间的概念,一般理解为可盛放物体的地 ...
- 2017.9.23 HTML学习总结----JavaScript实现输入验证
定义:对于一个HTML页面中的表单,可以获取其中的各项表单域信息, 利用这些信息,可以判定个表单域所提供的输入值是否合法,是否 符合所要求的格式,这就是表单的输入验证. (1)需要验证的表单输入域的要 ...
- MongoDB数据库CXX Driver编译
最近项目需要,想要测试下MongoDB读写大量小图片的速度(单纯文件系统io效率比较低,想试试NoSQL能不能提速), 因为使用C++开发,所以使用MongoDB的CXX驱动,需要自己编译,下面记录整 ...
- MyBatis中解决字段名与实体类属性名不相同的冲突
一: 通过在查询的sql语句中定义字段名的别名,让字段名的别名和实体类的属性名一致,这样就可以表的字段名和实体类的属性名一一对应上了,这种方式是通过在sql语句中定义别名来解决字段名和属性名的映射关系 ...
- js控制select选中显示不同表单内容
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...