无忧启动论坛

标题: NAS群晖grub2引导多启动模板分享 [打印本页]

作者: 110654    时间: 2020-6-27 02:46
标题: NAS群晖grub2引导多启动模板分享
本帖最后由 110654 于 2020-6-26 11:45 编辑

版本是DSM_DS3617xs_15284
支持环境efi  bios   默认推荐efi  模板文件中已丢弃bios启动的相关文件
测试硬件情况:
CPU:I7-7400  
主板:映泰B250-GTN  超mini尺寸 17x17
内存:DDR4 2根4G 2400,金士顿
硬盘:希捷酷狼2T,西数2T,西数500G,金士顿固态256G
文件系统相关情况:
2个2T组RAID1  500G=btrfs,固态=GPT分区windows10/游戏盘/EFI引导/linux

由于连续爬坑,刚刚入门,遇到第一次使用的各种坑之后决定留个记录方便以后查询,也方便你们查询。
正文:
群晖系统支持docker,虚拟机,套件中心及官方手机APP的4大重拳商业化运作,确实让人很难拒绝。当然这里用的是盗版俗称黑群晖,如黑苹果是一个道理。
文件结构介绍:
提取了DS3617xs_15284版本对应的启动镜像文件(ds3617xs1.02b支持6.17),传闻此版本很稳定,目前使用了半个月没有发现异常。
发现该启动镜像支持EFI结构,且支持grub2,盘中连接包含下该引导模板及各版本镜像教程工具全都有,需要的拿去吧

依次说明:
grub2启动文件及grub2文件管理器,风格包,菜单
efi启动相关文件,windows-pe引导文件,群晖efi引导文件
群晖grub引导文件
。。。删除不了的。。
群晖系统grub启动支持的模块(也就是grub2的64模块通用的,与/boot/grub/x86_64-efi重复,只是分别调用的路径不同,需要重新打包bootx64.efi        (grub2引导文件的路径,以后有机会完善吧,不过也占用不了撒空间)
下面都是群晖系统引导文件,

菜单结构:

#菜单等待时间单位秒
set timeout="5"
set default="0"
#加载文件系统支持模块
insmod all_video
insmod video_bochs
insmod video_cirrus
insmod efi_gop
insmod efi_uga
insmod font
insmod gfxterm
insmod gfxmenu
insmod gettext
insmod jpeg
insmod png

#加载unicode字体显示中文
font=(memdisk)/boot/grub/fonts/unicode.pf2
if loadfont ${font}; then
set gfxmode=1366x768
set locale_dir=(memdisk)/boot/grub/locale
set lang=zh_CN
fi

#设置分辨率
set gfxmode=auto
terminal_output gfxterm

#设置主题或背景图片
if search --no-floppy -f /boot/grub/themes/Vimix/theme.txt; then
        set theme=/boot/grub/themes/Vimix/theme.txt
else
        background_image /boot/grub/background.png
        set color_normal=red/black
        set color_highlight=magenta/black
fi
#替换版本可以提取刷入U盘的黑群晖引导img镜像提取对应的efi目录复制到hei这个文件夹
menuentry "黑群晖系统6.17" --class linux --class os {
chainloader (${root})/EFI/hei/bootx64.efi
}
#黑群晖的bootx64.efi默认指向根目录的grub文件夹的grub.cfg,注意路径,这里是单独用grub2启动黑群晖的菜单文件放置/boot/grub/
menuentry "进入黑群晖-cfg" --class windows --class os  {
configfile /boot/grub/grub.cfg;
}

#修改路径,复制/efi/pe文件夹,到/efi目录改名,用bootice软件打开/efi/改名/bcd 指向你安装的windows系统分区,或者直接修改下面的代码指向分区
menuentry "Microsoft Windows 10" --class windows --class os {
        echo "正在启动 Microsoft Windows 10..."
        insmod part_gpt
        insmod ntfs
        insmod fat
        insmod search_fs_file
        insmod chain
        search --no-floppy --set=root -f /EFI/2012/bootmgfw.efi
        chainloader (${root})/EFI/2012/bootmgfw.efi
}
#用bootice软件打开/efi/pe/bcd 指向你的wim文件路径,
menuentry "Windows 10 pe 维护系统" --class windows --class os {
        echo "正在启动 Microsoft Windows server 2012 R2..."
        insmod part_gpt
        insmod ntfs
        insmod fat
        insmod search_fs_file
        insmod chain
        chainloader (${root})/EFI/pe/bootmgfw.efi
}
#提取ubuntu20.04.iso里面的casper/vminuz以及initrd文件到/ubuntu文件夹,复制ubuntu20.04.iso到该文件夹,启动失败可以用grub2文件管理器启动这个iso成功率高得很
menuentry "启动Ubuntu LiveCD模式"  --class ubuntu {
insmod ntfs
set root='(hd0,msdos1)'
loopback loop (hd1,gpt2)/ubuntu/ubuntu-20.04.iso
linux (loop)(hd1,gpt2)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu/ubuntu-20.04.iso locale=zh_CN.UTF-8 splash
initrd (loop)(hd1,gpt2)/casper/initrd
boot
}
#选择iso文件存放路径,选第一个启动方式
menuentry "启动UEFI grub2 文件管理器" --class windows --class os {
set root='(hd0,gpt4)'
  linux /boot/grub2-FM/loadfm  
  initrd /boot/grub2-FM/grubfm.iso  
  chainloader /boot/grub2-FM/grubfmx64.efi
}
#相当于重启后启动到设置主板bios界面
menuentry '启动到主板UEFI-固件设置' $menuentry_id_option 'uefi-firmware' {
        fwsetup
}
menuentry "重启计算机" --class reboot {
        reboot
}
menuentry "关闭计算机" --class shutdown {
        halt
}


该链接将会持续更新,里面包含你要玩黑群晖的各种文档及工具系统(工具非常的齐全),有兴趣可以加入群聊一起折腾(见底部二维码)
链接:https://pan.baidu.com/s/1OmcB2sZbL2xO4HZi3c25Vg
提取码:6otg



1.理论知识可参考http://www.gebi1.com/thread-249878-1-1.html   下面部分引用了该页面知识答案
群晖系统不能以linux,或者windows的安装路径方式去理解,因为他的默认启动方式是需要U盘的,对于黑群晖而言,U盘上只是存放了引导相关文件总大小不超过50M,一般是20M左右,系统文件不比放在U盘上,他的启动方式是U盘或者硬盘启动到一个提示界面(类似DOS界面),并加载你硬盘上的linux系统分区文件,然后对于常见linux (如ubuntu)去访问这个分区是无法读取的,官方也是为了数据安全而作的,但可以格式化,删除分区操作。
因此本引导模板的目的也是为了以后启动的时候不需要插个u盘去启动黑群晖,有好处也有坏处,好处是不插U盘,我还能启动windows,windows-pe或者其他grub2能干的事情,坏处是grub2所存放的位置这个硬盘或者U盘是无法被群晖系统使用的,等于在浪费空间,当然你也可以回家了启动windows办公或者打游戏,出门了启动黑群晖,实际上群晖里面有虚拟机也可以装windows,前提是你的机器是组装的,官方的白群晖或者常规低功耗机器是不建议这样搞,浪费电费。
关于硬盘布局,初期还是推荐raid1比较好,毕竟NAS专用盘很贵,用普通盘怕数据存多崩了很难办,2个硬盘组raid,一个小硬盘或者垃圾硬盘用来做引导,备份好引导文件就行,崩了无所谓,复制到另一个硬盘或者U盘也可以开机的,这个垃圾硬盘你可以分一个2G左右FAT32  80G的windows   40G的linux,剩下存点游戏什么的也行了,2G里面放几个维护的PE  或者有硬盘工具的linux mini live cd版启动也行。
这样做的目的是不局限与当群晖有点毛病了 我还必须找另外一个电脑来处理,因为群晖引导启动后,就可以关闭显示器或者拆掉显示器了,它只会显示一个DOS界面给你看,不会再有变化了,必须另外一个电脑去操作(访问IP地址加端口,默认5000,或者下载群晖助手自动扫描找到这个群晖IP是多少)安装系统什么的。

群晖系统把服务器能做的事情差不多覆盖了%90左右,个人见解,前提是你的机器够强大,当然DIY的乐趣也正是这样,我不仅仅是为家庭NAS,更是一个服务器,他可以DNS,DDNS,FTP,SFTP,MAIL,PHP,WEB,MYSQL,DOCKER,java,python,office等很多功能家用级服务器需求,下面会列举群晖初始化必备功能体验及套件的,不玩这些感觉不到他的强大所在啊。

其他方面冷知识
          公网ip,就是你路由器有一扇门,打开这门(端口映射)这你就可以直接外网访问到家里的nas了。
没公网ip,就是没这扇门,没门,那你外网自然没办法访问家里的nas了,只能通过中转,比如(去趟VPN或者内网穿透)家里再通过群晖家里回到你家,这样访问速度和稳定性就看群晖家多不多人了。
    简单来说raid就是备份,像raid1就是一个镜像,一份数据同时写入2个硬盘,这样不管你哪个硬盘坏了数据都还在,条件呢当然是牺牲一个硬盘的容量,有点浪费。不过对于多年的照片和视频的价值,这点点成本无所谓了。数据无价嘛!


    视频播放方面知识参考下面这个链接,说的好啊,鼓掌。。。,手机远程播放目前接触到是花钱用plex media server,不花钱用ds file软件打开文件 选择vlc播放(安装VLC软件APP)
http://www.gebi1.com/thread-245967-1-1.html
常见问题:长期更新此贴,注意查看  我尽量写那些遇到的坑的问题及日常需要的命令等。其他百度搜。
1.安装提示文件损坏?
在常规操作下,文件很难出现问题被文件系统提示错误,显然群晖提示的不一定是你的安装文件错误,检查思路为但你第一次出现这个错误的时候,不要怀疑直接重启或者关机,不要继续再次安装(因为我已经测试过了,哪个坑啊,继续安装还是提示这个问题),应当检查你的U盘是否有多个分区,特别是那种带有UD或者隐藏分区的,建议把文件放在单个fat32的分区U盘成功率瞬间满格,另外老旧的U盘因上传速度问题导致也会出现这个问题。
最后才是去考虑把引导文件img写入U盘,别忘记教程中的改PID VID。(详细教程在上面的链接里面找找)
2.重装系统文件会丢失吗?
经过我的实战(吓死宝宝了)文件还在包括虚拟机的,docker都存在,只是套件没了。然而虚拟机以及docker都是套件,但你安装后就会有对应数据了,点击对应的开机就可以用了,数据都在。怎么操作看下面
3.docker安装人人影视更新一栏提示no date 无法更新官方数据?
解决办法是 ssh以 root 登陆群辉nas执行命令docker exec -it `docker ps |grep rrshare |awk '{print $1}'` /bin/bash 进入rrshare docker
sed -i 's/www.zmzfile.com/file.apicvn.com/g' /opt/rrshare/web/build/static/js/main.d30188cd.js 替换,清除浏览器缓存或者换个浏览器 已经不是no data 状态了。
不会先看看这个视频教程
https://www.bilibili.com/video/BV1WA411b7rE
4.SSH登录方面,端口检查方面?
SSH到群晖不用去安装什么,在面板开启,即可putty连接,切换ROOT用户命令是sudo -i (先到面板的用户设置对应的admin 密码后用admin账户ssh,再切换root时会提示输入root密码)
linux ssh 如centos (反正我对他没有好感了,被他弄哭好多次,或许是太菜了)在docker启动的centos 要特别注意无论是官方的别人打包的镜像都有无法在docker里面使用systemctl或者service服务启动关闭等命令。反正是刚安装好了准备启动ssh服务,百分比错误。解决办法百度都看吐了没解决,折中方案是用ubuntu,或者虚拟机启动centos不会有这个错误,(这个坑注意,需要很多时间爬的)
启ssh服务需要root权限,先用root账户登陆
centos安装命令yum install openssh-server,提示没找到软件,先yum update
ubuntu安装命令apt-get install openssh-server 同样的提示没找到  先apt-get update ,切换root是sudo passwd root设置密码后su root输入密码切换


启动ssh服务systemctl start sshd.service   start=开启,stop=停止,reboot=重启,或者service sshd start启动,或者/etc/init.d/ssh start方式启动,哪个行用哪个吧,不同的linux没有默认安装对应的服务控制软件,端口修改vi /etc/ssh/sshd_config,
           VI命令操作方式对于新手而言太痛苦了(不要跟我说装图形界面的linux,虽然操作体验好,但是这是服务器,linux目的就是为了资源利用最大化,电费最小化,图形界面何必呢,慢慢习惯吧)用最容易理解方式告诉你吧,当你输入vi /路径/文件名后,按下回车后不要急于按键,注意观察最下面有没有什么(左下角),没有什么字表示处于命令模式,按下insert键(台式机键盘的delete上面哪个键)表示进入输入修改模式(俗话说),找不到这个键就按a进入修改模式(但会向左或者右删一个字,再输入一个子而已,记不住的情况下就这么干,光标的移动方式是按上下左右方向键,当你遇到要删除很多行的时候可以按esc键也就是键盘左上角哪个,按几下都不影响(不知道切换成功没有的情况下多按几下吧),来切换到命令模式,光标移动到对应的行按dd(也就是连续按2次小写的d)就删除了,按x删除一个字(按住不动,就连续删除),保存修改好的的文件方式是按住上档键加L右边哪个符号键(也就是你输入冒号的方式),这时候你会看到左下角会显示冒号,如果没有显式冒号你得按ESC切换到命令模式才有效,然后输入wq!按回车就是保存退出(在冒号后面跟wq!,就是WQ感叹号的小写),输入q!(q加感叹号英文的感叹号)回车不保存退出。要复制内容到里面就先复制好,右键就贴进去了(在putty连接的情况下,在修改模式的情况下才行,网页访问的终端命令有时候不能粘贴进去)
         ubuntu中文乱码(找了无数帖子,始终只有极个别的有用,当不生效就继续找,复制命令继续贴)
sudo chmod 755 /usr/share/fonts/truetype/*
sudo fc-cache -fv
或者使用
sudo chmod 777 /usr/share/fonts/truetype/*
sudo fc-cache -fv
sudo apt update && sudo apt full-upgrade  升级更新一下包



  宝塔面板的安装如下
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh       centos下面安装
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh           ubuntu /debin 下面安装

bt default  查看入口及账户密码   直接在命令行输入bt 可以看到宝塔面板常见命令快捷键控制提示

关于没有公网IP,没有固定IP(看了上面的教材还是没弄懂?),所谓公网IP就是动态的去你家的门,要从外面进来这个门每48小时(例如重庆电信,全国最坑的城市之一,IP管控最严的城市之一,如果你不在(很显然我就是在这样一个坑的城市研究了很多VPN,内网穿透什么的,哪个免费用哪个)你有很大机率找运营商要到这个动态的所谓公网IP,然后做DDNS服务就可以开始访问家里面了,无论是访问家里的电脑,网站,人人影视,虚拟机,路由器都行了)改变一次位置(IP地址),固定IP不要想了,价格贵还不如租个阿里云服务器来当宽带(VPN,域名服务等)用。

          如果你有幸看到这里了,说明你需要内网穿透,下面推荐一款给你,效果还不错,官方地址https://www.natfrp.com/支持windows linux,当然也就支持群晖(群晖核心也就是阉割了一堆了软件功能的linux系统,要使用什么命令没什么命令那种。就好比windows打游戏提示你没有安装
DirectX一样)使用方式介绍:建议先cd ~  表示切换到家(home)目录,上档键加英文字母上面的数字1的最左边哪个键,因为开机启动设置的时候比较方面才这样做,然后wget https://qianqu.me/frp/frpc_linux_amd64 --no-check-certificate  下载软件到这个目录,然后chmod +x frpc_linux_amd  给与文件权限
./frpc_linux_amd64  运行这个软件(英文的小数点加一个左斜杠跟文件名)
当你要取消的时候按ctrl加C键盘 可以取消运行,运行后提示输入密匙(在登录账户后的用户信息菜单可以看到,到这一步前你需要先创建通道)
创建隧道的知识理解重点有当你选择了其他服务器,点击了其他菜单再次创建的时候会默认选择一个,需要注意每次创建注意看是不是同一个服务器,建议创建到同一个服务器,一条命令就搞定了何必2个呢?当然高手可以组合命令,本地地址是指运行这个命令的设备的地址推荐写127.0.0.1(指本机),然后本机的本地端口就会被映射出去(注意这个跟你群晖或者电脑上面的路由器没有任何关系,(如果你有防火墙设备当我没有说过这句话,你需要防火墙放开这个需要内网穿透的,但如果你这个设备能上网,例如打开百度,防火墙通常也默认拦不住你了,出发端口限制了)因为这个隧道是点对点,路由器或者防火墙设备无需额外映射端口(前提是这个设备已经能上网了,如打开百度),远程端口可以不用跟本地端口一致,你最好记下来,因为我老是忘记远程端口是多少,因为你在外网访问进来的时候老是忘记远程端口是多少,局域网可以用本地端口访问,绑定域名功能需要与管理员联系(前提是你的域名备案成功了,有ICP备案号那种),然后你就可以用域名加端口访问群晖或者你的网站,虚拟机里面的宝塔,或者KMS外网激活windows的服务也行。本地端口指向那里就对应一个服务,如果有多个应用,就需要创建多个隧道,但一个账户最多创建5个通道(偷偷的告诉你创建2个账户就是10个端口),其他设置默认就行。         晋级教程使用方式是开机启动这个命令,而不是每次SSH连接来运行这个命令启动隧道,关闭了窗口就会断开,所有你需要加入后台运行,最直接的方式是在群晖控制面板的计划任务中新建一个任务,在任务设置中输入cd ~  下一行输入./frpc_linux_amd64  其他都是中文的看着办就行了。
另一种是加入linux开机启动参考https://blog.csdn.net/lylload/article/details/79488968,另外为了每次都自动连接5个通道需要额外的搞一下,touch frpc.ini   创建一个名为frpc.ini 的文件在官方的菜单配置文件 选择你创建的隧道对应的服务器列表,显示出对应的代码,vi frpc.ini  打开它 复制到里面然后保存,rm  文件名.txt    文件名=忘记了,可以先输入ls 查看有哪些文件,只有一个这样的类似txt文件 rm等于把他删除,然后再次运行启动命令 重新输入对应密匙  选择对应的服务器后 生效。







作者: vaf    时间: 2020-6-27 03:33
搞几张图来得清楚




欢迎光临 无忧启动论坛 (http://wuyou.net./) Powered by Discuz! X3.3