当前位置:   article > 正文

windows下免U盘安装manjaro_manjaro无u盘安装

manjaro无u盘安装

建议

建议先看这个https://www.bilibili.com/read/cv23161386/

背景

新到了一块硬盘,想把这台主机做成双系统的,windows+manjaro系统。
为什么选择manjaro

  1. win中的虚拟机已经有了日常使用的ubuntu。体验一下manjaro。
  2. ubuntu用来开发办公要比manjaro要稳定的,但是我这个机器是个人使用。

手边没有U盘,用现有硬盘的一个分区制作了一个启动器

前提条件:

windows关闭安全引导,快速启动,bios中硬盘的模式改为AHCI。

引导分区制作

windows中随便一个分区,计算机管理中磁盘管理压缩卷,压缩出来最少8g。用来代替U盘 大小最好选择一个和windows中其他分区大小不一样的大小,方便后期区分。

分区

新创建简单卷,分区的文件系统为FAT32,如果为NTFS有可能manajro无法引导。我这里盘符的名称为H 卷标为IMAGE
在这里插入图片描述
将下载的manjaro镜像拷贝进去。

记录以下信息

  1. 完整的镜像名manjaro-gnome-22.1.1-230509-linux61.iso
  2. 镜像boot目录中的内核名称vmlinuz-x86_64
  3. 镜像的发行版MANJARO_GNOME_22
  4. 临时文件系统RAM的名称initramfs-x86_64.img

在这里插入图片描述

使用GRUB2制作引导启动

下载grub2 grub-2.06-for-windows.zip

https://ftp.gnu.org/gnu/grub/
  • 1

管理员模式运行cmd,切换到下载目录

Microsoft Windows [版本 10.0.19044.1706]
(c) Microsoft Corporation。保留所有权利。
# 切换盘符
C:\WINDOWS\system32>e:
# 切换目录
E:\>cd Downloads\grub-2.06-for-windows

E:\Downloads\grub-2.06-for-windows>
# 执行命令
grub-install.exe --target=x86_64-efi --efi-directory=h: --boot-directory=h:
# 这两个H,就是要创建grub引导的安装位置,也就是上面划分的U盘
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

创建的UEFI引导输出 如图1

可以通过以下命令找到分区划分的位置 图1 图2

打开image分区,能看到多了两个文件夹。 如图3
在这里插入图片描述
图一
在这里插入图片描述
图二
在这里插入图片描述
图三 U盘中的文件

windows中的基本准备到此完成

重启,进入bios启动菜单,正常情况下可以看到grub引导选项了,选它。

grub引导命令

grub> insmod ntfs
grub> insmod iso9660
grub> set isofile="/manjaro-gnome-22.1.1-230509-linux61.iso"
grub> search --no-floppy -f --set=root $isofile 
grub> probe -u $root --set=pro
grub> loopback loop (hd4,gpt2)$isofile
grub> linux (loop)/boot/vmlinuz-x86_64 misolabel=MANJARO_GNOME_22 img_dev=/dev/disk/by-uuid/$pro img_loop=$isofile driver=nonfree
grub> initrd (loop)/boot/intel_ucode.img (loop)/boot/initramfs-x86_64.img
grub> boot
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

详细解释

grub> insmod ntfs  # 在GRUB引导程序中加载NTFS文件系统模块
grub> insmod iso9660 # 在GRUB引导程序中加载iso 9660文件系统模块,也就是光盘文件系统类型
grub> set isofile="/manjaro-gnome-22.1.1-230509-linux61.iso" # 设置变量
grub> search --no-floppy -f --set=root $isofile # 搜索$isofile,也就是上面定义的变量设置为根文件系统
grub> probe -u $root --set=pro # 探测上一步设置的根文件系统,将探测到的文件系统设置变量pro
grub> loopback loop (hd4,gpt2)$isofile # 将我们制作的u盘作为一个虚拟块设备挂载到grub中
grub> linux (loop)/boot/vmlinuz-x86_64 misolabel=MANJARO_GNOME_22 img_dev=/dev/disk/by-uuid/$pro img_loop=$isofile driver=nonfree # linux 加载内核命令 loop指定加载的路径 msolabel指定引导的操作系统名称 img_dev 指定要引导的操作系统所在的设备 img_loop 指定引导的操作系统所在的文件 driver指定使用的驱动程序

grub> initrd (loop)/boot/intel_ucode.img (loop)/boot/initramfs-x86_64.img # 加载intel架构的cpu微码更新的文件 initramfs包含内核模块和文件系统的initramfs映像,在引导时被加载便于内核启动
grub> boot
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在grub界面中可以通过ls查看所有的磁盘,但是linux或者grub中显示的是hd0,gpt1 hd0代表第一块硬盘,gpt1代表一个gpt分区。
-l参数可以查看所有分区的详细信息 通过管道 | less可以分页查看,通过对比在windows中设置的卷标可以方便找到镜像的存放位置,作为grub命令行中的参数

# 将镜像源切换为中国
   ~/下载  sudo pacman-mirrors -c China                                                                            ✔  4m 44s  
[sudo] xxx 的密码:
::INFO Downloading mirrors from Manjaro
::INFO => Mirror pool: https://repo.manjaro.org/mirrors.json
::INFO => Mirror status: https://repo.manjaro.org/status.json


::ERROR Connection: HTTPSConnectionPool(host='repo.manjaro.org', port=443): Read timed out. (read timeout=2)
::INFO User generated mirror list
::------------------------------------------------------------
::INFO Custom mirror file saved: /var/lib/pacman-mirrors/custom-mirrors.json
::INFO Using default mirror file
::INFO Querying mirrors - This may take some time
  0.306 China          : https://mirror.nju.edu.cn/manjaro/
  1.246 China          : https://mirrors.ustc.edu.cn/manjaro/
  1.593 China          : https://mirrors.tuna.tsinghua.edu.cn/manjaro/
  1.083 China          : https://mirrors.tuna.tsinghua.edu.cn/manjaro/
  0.474 China          : https://mirrors.sjtug.sjtu.edu.cn/manjaro/
  0.521 China          : https://mirrors.jlu.edu.cn/manjaro/
::INFO Writing mirror list
::China           : https://mirror.nju.edu.cn/manjaro/stable
::China           : https://mirrors.sjtug.sjtu.edu.cn/manjaro/stable
::China           : https://mirrors.jlu.edu.cn/manjaro/stable
::China           : https://mirrors.tuna.tsinghua.edu.cn/manjaro/stable
::China           : https://mirrors.ustc.edu.cn/manjaro/stable
::China           : https://mirrors.tuna.tsinghua.edu.cn/manjaro/stable
::INFO Mirror list generated and saved to: /etc/pacman.d/mirrorlist

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

问题

在manjaro中,重启,引导windows不成功,待解决

同理安装Ubuntu

ubuntu desktop版本的镜像大于4G,所以不能放入Fat32文件系统中。

大概步骤:

在磁盘中分出一块8G的存储,存放ubuntu的镜像。

windows中使用diskgenius创建ESR分区,也就是EFI分区,将镜像中的boot目录复制进去。修改/boot/grub/grub.cfg文件

menuentry "Ubuntu 20.04 ISO" {
    insmod ntfs
    insmod iso9660
    set isofile="/ubuntu-22.04-desktop-amd64.iso"
    # or set isofile="/<username>/Downloads/ubuntu-20.04-desktop-amd64.iso"
    # if you use a single partition for your $HOME
    rmmod tpm
    loopback loop (hd0,gpt5)$isofile # hd0 就是镜像存在的磁盘编号 gpt5 镜像存在的磁盘编号中的指定分区
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject
    initrd (loop)/casper/initrd
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

使用grub对这块EFI引导分区安装引导。

重新开机引导,可以看到多个引导选项。

参考

https://www.bilibili.com/read/cv23161386/
https://blog.csdn.net/lxyoucan/article/details/124506518

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/74521?site
推荐阅读
相关标签
  

闽ICP备14008679号