@依云,@YCP,这样子我理解了,先试试看能不能开机,我真的小白,把grub配置文件当成了引导器。
@xtricman,好吧,真是烦透了。感谢详尽的解释。
小白的惨重教训:windows系统盘不要放到Linux主机里启动;不要重置BIOS。
http://blog.ccyg.studio/article/4f6cfa0 … b1d674/#_1
找到arch安装到usb的方法。
手头有个16G的usb,使用@依云建议的拷贝文件的方式先试。
如果不行,将会非常麻烦。
准备用新HHD盘来配合重装,新HHD盘超过1TB,原ARCH盘120G。
接下来的做法是:用新硬盘110G装ARCH,将原系统盘加载并tar备份到另外的硬盘,从旧ARCH系统盘copy自己的文件保存到另外的硬盘,格式化原ARCH盘,rsync新ARCH系统盘的文件到旧硬盘,关机,新ARCH系统盘取出,再运行SSD上的ARCH系统。
不知这样可否?
还是装两次系统:第一次用新硬盘,copy出自己的文件保存到其他硬盘,第二次用旧ARCH系统盘再装一次系统?
最近编辑记录 cool2000 (2019-10-23 19:50:45)
离线
有能用的 live 系统就直接用。拷文件的方式是在你手头没 live 系统的情况下用的,而且拷了之后还是要重新安装引导器比较好。
关于你链接的那个安装教程,我说这么几点:
1. cfdisk 比 fdisk 友好太多了,干嘛不用呢?
2. 与 Windows 共享文件建议 NTFS 文件系统。FAT32 限制多又容易坏。
3. 不建议同时启动多个镜像,它们之间不同步时会很烦。另外普通家宽、移动网络请使用 HTTPS!自己省心的同时让那些xjb插广告的恶心 ISP 少获利。
4. base 组没了,出现了 base 包。所以记得安装 linux linux-firmware 之类的通常需要的包。具体请看 ArchWiki。
5. 没事别启用 GB18030 之类的编码,没用,浪费时间。
6. 不建议硬件时钟使用本地时间。麻烦。
在线
依云那个11楼的方法如果无效的话,可以试试12楼的方法:
这个方法只需要重装引导程序,不需要重装整个系统,很快,与全部重装相比,能节约你很多精力;
不过我觉得依云的方法无效的可能性很小~
另外,我提到的“arch启动u盘”是用的官网推荐方法来制作的:
https://wiki.archlinux.org/index.php/US … %E6%96%87)
最近编辑记录 驿窗 (2019-10-23 20:36:46)
开源/Linux大众化,从驿窗开始~
离线
@依云,谢谢仔细的审阅,您的建议很宝贵。
“ live 系统就直接用”,可以直接下载到U盘不用安装?或者安装步骤没有那么繁琐?
我仔细看了arch安装的英文Wiki,
The simplest scenarios for mounting EFI system partition are:
mount ESP to /efi and use a boot loader which has a driver for your root file system (eg. GRUB, rEFInd).
/efi is a replacement[5] for the previously popular (and possibly still used by other Linux distributions) ESP mountpoint /boot/efi.
The /efi directory is not available by default, you will need to first create it with mkdir(1) before mounting the ESP to it.
那么,这一段的意思是现在的做法应该是:
mount /dev/sdb2 /mnt
mkdir /mnt/efi --此处改,下面的bootloader将受到影响
mount /dev/sdb1 /mnt/efi
分区可否用parted?我不需要使用windows格式,所以全部ext4。准备于使用超过1T的HHD装系统时,使用下述命令分区:
parted /dev/sda
mklabel GPT
mkpart primary fat32 1Mib 513Mib
set 1 esp on
mkpart primary ext4 513Mib 25.0Gib
mkpart primary linux-swap 25.0Gib 57.Gib
mkpart primary ext4 57.0Gib 110.0Gib
quit
还有一些文件夹,如/var之类的,不知道是否有必要在parted时建立?小白不懂,还请指教。
国内镜像使用清华源。
gb2312、gbk、gb18030、zh_CN.UTF-8等设置后,导致原来我的tty出现乱码,一直没有修复,我不打算装图形界面,所以只用en_US.UTF-8。
安装Bootloader时,由于上面的efi-directory改为了/mnt/efi,而非/mnt/boot/efi
那么
# pacman -S dosfstools grub efibootmgr
# grub-install --target=x86_64-efi --efi-directory=<EFI 分区挂载点> --bootloader-id=GRUB
# grub-mkconfig -o /boot/grub/grub.cfg
"<EFI 分区挂载点>"是不是应该改为"/"?
在arch文档grub部分,提到是 pacman -S os-prober grub efibootmgr
那dosfstools是不是应该改为os-prober?或者两者是一个意思,随便安装一个就行了,都是用来检测是不是装了其他系统,从而开机时进行到想进入的系统?
除了官方文档,还参考了
https://blog.csdn.net/puppylpg/article/ … =blogxgwz2
最近编辑记录 cool2000 (2019-10-23 21:44:19)
离线
' "<EFI 分区挂载点>"是不是应该改为"/"? ' ==> "由于上面的efi-directory改为了/mnt/efi,而非/mnt/boot/efi" ,你自己都说啦。
/var 单独分不分都行,建议不分。
离线
live 系统当然不需要安装啊,不然你怎么安装 live 系统呢?用另一个 live 系统?那这「另一个 live 系统」又怎么安装呢?
可以用 parted,如果你愿意的话。
没有特别的需求的话不要把 /var 之类的单独分区。
--efi-directory 参数是 EFI 分区的挂载点所在目录。你在 chroot 里的话是 /efi。
在线
@hounh、@依云,谢谢热心回复。archlinuxcn是我见过的最热心的社区,我很感激。
@驿窗,谢谢。我准备按照你的建议来一遍,如果可以,就不装系统了。
如果要重装系统,我准备接下来把重装时用到的命令都放上来,目前arch英文版wiki很详尽,但不精简,中文版的Wiki则有些内容没有更新,有些内容没有翻译,不少如我这样的小白浪费了时间来找寻命令完成系统安装,@依云、@驿窗、@yw662、@xtricman等人给了我很多指导与很大帮助,避免走弯路以及不断的找寻花费的时间,记录后,自己有需要的时候也免得以后到处东找西找的。
arch的命令行版本极好,我之前使用过程中感觉很舒服,作为小规模、低频率的使用来讲,比centos等好很多。
离线
弄个 U 盘启动 live 系统去修引导就好了,这个还是好解决的。
efi 丢失启动挺正常的,换了硬盘找不到原来启动项的文件,就会删掉那些启动项了。
像我的联想笔记本,只要有微软的引导文件,就算是有 boot/bootx64.efi 它也不认。
如果没有写进 nvram 的引导项,那就启动不了了。
离线
按说nvram的启动项应该是“打死都不会删”的,不过很多uefi固件都是把并不nv的cmos当nvram用了。。。
但是“换了硬盘找不到原来启动项的文件,就会删掉那些启动项了”,这个操作有点神奇了。
楼主的问题是,grub之前创建了esp:/efi/grub/grubx64.efi的引导项,但是没有复制到esp:/efi/boot/bootx64.efi,楼主重置cmos之后nvram里的引导项也跟着重置了,而楼主又没有bootx64,所以悲剧。
另外,“像我的联想笔记本,只要有微软的引导文件,就算是有 boot/bootx64.efi 它也不认”,你那是因为开了secure boot的问题吧。
ecmascript是世界上最好的语言
离线
我欣喜若狂,小白我进入arch系统成功,!特来汇报。
大赞各位!
非常感谢@依云 @驿窗 @yw662 三位大牛的耐心指导及帮助!
感谢所有无偿出力的热心朋友!
真是帮我大忙,省去了我重装一遍可能是两遍系统的所花费的精力及时间。
附执行命令总结:
一台电脑只安装了ARCH,由于重置了BOIS,无法进入ARCH,需要将esp所在位置的/EFI/grub_uefi/gurbx64.efi拷贝到/EFI/BOOT/bootx64.efi。此处我esp加载到了/mnt/boot文件夹(原来安装arch时,efi分区在sdb1,mkdir /mnt/boot mount /sdb1/efi /boot/efi )。
一台windows电脑上制作arch live usb,我使用的U盘16G,看了大约1gb的U盘以上的都能装arch live。
操作经过:
一、下载arch linux安装软件,下载rufus软件。
arch linux安装软件使用官网下载菜单栏的磁力链接。
二、制作bios live
在windows系统,使用U盘制作arch live 。
插入U盘,打开rufus软件,设备下拉菜单栏安装arch linux live的U盘,引导类型点击已下载的arch linux安装包所在位置,分区类型下拉菜单选择GPT,点击开始按钮,再在新界面选择以dd镜像模式写入。
接下来修复。
对已单独安装linux的电脑,
bios关闭fast boot以及security boot,boot选项夹中,将开机启动项全部设置为uefi,有leagcy兼容的选项都调整为uefi。
插入已制作完成的u盘后,开机,电脑进入arch live界面。
fdisk -l
/* 显示efi安装到了什么盘,此处我的是/sdb1 */
mkdir /mnt/efi
mount /sdb1/efi /mnt/efi
mkdir /mnt/efi/BOOT
cp /mnt/efi/EFI/grub_uefi/grubx64.efi /mnt/efi/EFI/BOOT/bootx64.efi
/* @依云所提出的,grub_uefi/grubx64.efi此处可以类似于x/y.efi即可 */
cd /
umount /mnt/efi
systemctl poweroff
取出u盘
启动电脑,成功进入arch系统
最近编辑记录 cool2000 (2019-10-24 19:07:43)
离线