• 那是云首页
  • 快捷导航
  • 更多
    设为首页收藏本站
  • |
花生壳

#楼主# 2019-4-9 20:53

跳转到指定楼层
本帖最后由 minlearn 于 2019-4-10 02:14 编辑

本文关键字:单盘安装黑群,黑群硬盘镜像,云主机单盘安装黑群。


在《阿里云上单盘安装skynas中》我们谈到群晖的安装方式是基于至少双盘的,新买的白群在内部一小块ROM上存有bootloader(这是第一个盘),.pat dsm只是作为数据被安装/升级在某个volume1上的某个分区(这个volume1便是第二盘),以后进入DSM在系统中新增volume2,volume3时,与volume1相同的分区结构和分区上的数据都以相同的方式在这些volumex(x=2,3...)上复制建立一次。------- 正常的DSM安装需要双盘,这导致没有双盘的云主机或需要单盘安装黑群的实体机无法在单盘环境下安装(前者除非再购一盘否则没有可用的volume1盘,后者至少浪费一个另外的盘单独放bootloader或要外挂USB作bootloader盘)。但是,事情的转折点是,在实机上已经经过测试,安装完的黑群是有可能在安装完成后,将bootloader移到volume1的某个未划分分区上,做成单盘启动的。这里的未划分分区是群晖为了对齐硬盘在volumes中设置的一个空分区。这样就可移除最初那个bootloader盘,将整个黑群做成单盘的。

既然没有正常的纯单盘安装方法 - DSM安装脚本没有提供行之有效的方法,hacking后的结果又是可以运行的,这说明至少群晖支持单盘运行单盘启动的(这时,它已经被安装上了,整个群晖bootloader,群晖系统,和配置,及对volume1的设置,都已经被固化在这个系统上了)。那么把整个硬盘系统都img dump下来然后用在同类型机器上总是可以启动的,dmg后的硬盘镜像里会有一套区确的分区和群晖.pat安装后的数据,群晖配置,,其中bootloader是一个干净的预安装环境,(它总会是把第一个盘认识的盘作为volume1)pat所在区里的数据和配置也是无关任何机器的。猜想它总能工作起来。

这就是本文要讲的在阿里云上单盘位安装skynas及制作一个可用的硬盘镜像供以后安装。这是对《阿里云上单盘安装skynas中》的强化和补充。

1.准备硬盘镜像

建立在对群晖的etc/fstab配置和启动脚本没有任何研究的基础上,那么不妨一步一步来按照最简单的一般通用过程来还原这个过程,流程是先安装bootloader,再安装pat,再进系统,看bootloader所在盘是否会作为整个volume1被识别 ----- 按在《阿里云上单盘安装skynas中》中的方法,先准备工具,这是因为在阿里云上不能插USB,只有一个系统盘,如何在单盘环境上载入loader,可以使用iso或定制grub2,就如我们在《发布virtiope》一文一样,它在被加载后相当于一个内存盘和外置bootloader。我们现在需要得到的是一个synope,我们使用的是tinycolinux和其引导菜单:

进入工具,重新建立skynas的分区结构(这个是我们反工程skynas安装过的磁盘结构得出的结论),先安装bootloader到对应分区,然后启动上传.pat系统安装,我们以为它会将.pat放进正确的分区,结果出现了pat会提示损坏无法安装,其实,即使最终完成安装,最终,我们进入系统,也发现不了其所在loader盘可作为volume1,更别说在上面建立存储空间。----- 这里可能有二个过程会影响安装脚本对硬盘结构的判断,使得安装不能继续,1,skynas在第一次发现volume1安装.pat的过程中企图改造磁盘结构(volume1),失败,除了不能自己改造自己,它应该还有别的问题,毕竟不能期待安装脚本现在能在单盘上也像双盘上一样进行过去,2,即使完成,在建立volume1上的存储空间时又会改造一次分区和磁盘结构。

好吧,我们来看一下pat会提示损坏无法安装,磁盘到底出了什么问题,但其实这些也有人解决过了,

PS:下面是nasyun上的老骥伏枥对于解决这个问题的一段话:

对此错误,我对代码做了分析,终于查出了原因。这是因为ISO盘是只读的工作模式。不同于USB盘,和硬盘启动。在导入群晖的pat包时,群晖的 update package 程序需要向它的 flash 中写入几个文件。其实这些操作对于黑裙来说是毫无意义的。但又不能不让它进行,否则就要修改它的 update package 程序。但如果群晖系统已经导入,ISO启动盘就可以正常工作。

skynas与黑群dsm可能会有所不同,但道理应该一样。研究安装脚本可以得到方案。

除此之外,他在nasyun上先后推出了针对黑群自启安装的整个系列,见nasyun上的老骐伏励的系列贴子,他从原理(利用grub启动机制和各版本黑群下的硬盘分区结构,配合脚本判断插入镜像文件到闲置的分区)和实作上提出了一个synope的东西(img for hd,usb+setboot.sh或iso,其脚本原理一样),还支持.pat的原生安装,我们不打算从自动化的角度来写二篇类似《发布virtiope》与《在阿里云利用virtiope安装ISO》的文章 for syno,因为老骥伏枥已经做得很好了。我们这里要达到的效果是:提出一套类似nasyun的124718842提出的二合一硬盘镜像为最终的产出品和安装启动方法。虽然效果不同但其思路和原理和老骥伏枥系列synope作品是一样的:利用synope工具急救环境,和脚本处理各个过程中出现的问题,即上面提到的,使安装不能继续的1,2,手动的方式比老骥伏枥发布的的自动化更安全。因为不是synope,它与老骥伏枥的安装的另一区别是,不支持老骥伏枥式的.pat安装和自动化过程。

那么在skynas下和在《阿里云上单盘安装skynas中》提到的工具支持下,如何解决pat会提示损坏无法安装的问题呢 。

我们的重点是如何在得到一个可让.pat安装过去的初始硬盘镜像。根据老骥伏枥的方案,挂载买一个新的盘或者利用GRUB2+ISO来虚拟内存盘来使那个临时IDE出现。解决了就卸载那盘。

如果这套方案已经能使黑skynas在云主机上顺利安装了,可以进入系统了,目前为止,它还是skynas眼中的bootloader盘,那么还剩下一个问题,如何将发现volume1也做进里面,同样是挂载再次新买的一个盘,进去把存储空间管理器配置好,定为raid group->basic group brtfs这样会把当前bootloader拷贝到新买的那个盘并配置好volume1指向数据。但是关于第二个问题出,重启你会发现进入不了dsm,进入synope发现,刚才的操作把然后你就会发现这次对存储空间的操作把efi引导区给破坏了,在急救pe工具中把它重新恢复回来,对新数据盘也做同样的操作,即可。重启进入。

这样在新买的那个盘中,会存有所有的能工作和存有配置的skynas系列,包括重要的volume1的设置,整个问题就解决了。我们要最终得到的正是它,反而不是系统盘。

2,dump整个镜像。

因为bootloader所在的那个盘是系统盘阿里云不让你卸载,你可以再次进synope。在这里把整个新购的那个硬盘镜像都dump下来(这个镜像是预计未来整盘恢复的,不能按分区恢复,分区还原时会改造GUID,会破坏整个已安装好的群晖关于引用盘符的逻辑)。因为是做模板的,volume1和存储空间越小越好。如果是在本机上,尽量用一个最小的盘,8G U盘都可以,在阿里云上只能作40G的快照或镜像。后者你可参照nasyun的124718842集成的《918+6.21 二合一引导启动系统盘》UEFI,DS3617xs-6.17 UEFI MBR版等等。

3,在新ECS上测试还原整个镜像

再次讲下老骐伏励系列作品与集成dsm和volume1设置的此整块化自启镜像作品的区别,------ 用此镜像还原的黑群不能重装。也不能对volume1进行添加删除volume1上存储空间的操作,原因如上所述。,那么一旦源镜像与目标盘大小不一样怎么办,目标很大,还原过去的存储空间的设置用不完所有的剩余空间,实机上124718842集成的二合一系列就会有这个问题。

124718842的硬盘镜像是针对16GU盘的,存储空间定为9G大小,假设我使用的是uefi版二合一引导启动系统盘,恢复方法是diskgenuis把目标盘所有分区都删了,然后整个镜像恢复,恢复完后进synope,发现它其实是mbr分区表,只是它有一个激活状态的efi分区,里面有bootloader,那个存储空间就是9G的linux raid,当用此镜像还原到大盘时,为了把存储空间利用完,所以我们得重新利用急救空间来hacking扩展这个存储空间。回到dsm,把固定大小的存储空间和raid group1都删了,然后再重新划分raid group1和存储空间,进入synope发现,在急救pe工具中把那个efi重新恢复回来,即可。


--------

关注我,关注“shaolonglee公号”



让我在这里看到你的头像
那是云论坛 - 国内知名的NAS交流平台
http://www.nasyun.com
分享淘帖
回复 印象

使用道具

0

精华

20

回帖

325

积分

入门用户

Rank: 1

云币
1
贡献
0
活跃
315
精华
0
雾8916 发表于 2019-4-11 18:16 来自 中国湖北襄阳
楼主好,我有一个3t的硬盘,使用uefi版二合一引导启动系统盘,想完全利用硬盘剩余的2.7T的空间,本人小白一个,这篇文章最后一段没看懂,能给我详细指导一下吗?

点评

很简单啊,进第一次安装后的二合一系统,把9g的raid group 1和存储空间basic brtfs都删了,然后建新的,利用完2.7T,,你会发现这个时候二合一启动不了, 这是正常的。 用WINPE进去,会发现原来的64M efi分区  详情 回复 发表于 2019-4-12 02:29
回复 支持 1 反对 0 印象

使用道具 举报

0

精华

36

回帖

718

积分

入门用户

Rank: 1

云币
0
贡献
26
活跃
563
精华
0
minlearn 发表于 2019-4-12 02:29 来自 中国广东广州
雾8916 发表于 2019-4-11 18:16
楼主好,我有一个3t的硬盘,使用uefi版二合一引导启动系统盘,想完全利用硬盘剩余的2.7T的空间,本人小白一 ...

很简单啊,进第一次安装后的二合一系统,把9g的raid group 1和存储空间basic brtfs都删了,然后建新的,利用完2.7T,,你会发现这个时候二合一启动不了,

这是正常的。

用WINPE进去,会发现原来的64M efi分区加63M闲置空间,变成了127M闲置空间。

用diskgenise打开硬盘镜像,那个二合一解压出来的14G大的文件,会发现正确的64M EFI分区。

把你系统中的127M闲置,重新分一个64M EFI,要保证是EFI。

然后把镜像中正常的64M EFI,通过DG的分区复制,还原到这里。。

拔掉WINPE U盘,重启就进了已拥有完整2.7T的黑群系统。

点评

还有这种操作啊,谢谢分享!  详情 回复 发表于 2019-4-12 09:55
回复 支持 反对 印象

使用道具 举报

0

精华

36

回帖

718

积分

入门用户

Rank: 1

云币
0
贡献
26
活跃
563
精华
0
minlearn 发表于 2019-4-12 02:42 来自 中国广东广州
硬盘镜像对解决黑群晖运行完一段时间后可能会出现的“抱歉,您所指定的页面不存在”也是有用的。

就是进入WINPE,,恢复第一个EXT4分区即可(相当于重装)。不过要按扇区复制,最好下载注册版的早期DG。
回复 支持 反对 印象

使用道具 举报

0

精华

130

回帖

1557

积分

发烧玩家

Rank: 2

云币
0
贡献
116
活跃
911
精华
0
engiennrlzk 发表于 2019-4-12 09:55 来自 中国贵州贵阳
minlearn 发表于 2019-4-12 02:29
很简单啊,进第一次安装后的二合一系统,把9g的raid group 1和存储空间basic brtfs都删了,然后建新的, ...

还有这种操作啊,谢谢分享!
回复 支持 反对 印象

使用道具 举报

0

精华

265

回帖

1558

积分

发烧玩家

Rank: 2

云币
1
贡献
15
活跃
1347
精华
0
雨下得大 发表于 2019-4-12 10:13 来自 中国四川自贡
这是在阿里云主机上安装群晖?

点评

是的,准备来说是skynas,这是30月每个月的收费镜像。 本贴只供学习。  详情 回复 发表于 2019-4-12 14:50
回复 支持 反对 印象

使用道具 举报

0

精华

36

回帖

718

积分

入门用户

Rank: 1

云币
0
贡献
26
活跃
563
精华
0
minlearn 发表于 2019-4-12 14:50 来自 中国广东广州
雨下得大 发表于 2019-4-12 10:13
这是在阿里云主机上安装群晖?

是的,准备来说是skynas,这是30月每个月的收费镜像。

本贴只供学习。
回复 支持 反对 印象

使用道具 举报

0

精华

36

回帖

718

积分

入门用户

Rank: 1

云币
0
贡献
26
活跃
563
精华
0
minlearn 发表于 2019-4-12 15:19 来自 中国广东广州
你还可以把原来的14G缩小为5G不到的镜像,方便塞进装有WINPE的小U盘,然后随意WINPE下修复,还原,重装。扩容已装好的二合一所在系统。

这是 VS 老骥伏枥系列小的够用的那些核心作品的另一种思路。
回复 支持 反对 印象

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回列表 搜索 官方QQ群
懒人地图| 手机版|小黑屋| 智能生活 , 上那是云 |闽ICP备2020018196号-1 |网站地图