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

#楼主# 2017-1-3 07:23

跳转到指定楼层
本帖最后由 f541883216 于 2017-3-3 05:40 编辑

关于黑群晖硬盘自启动+系统救援盘的理念和启动引导的基础架构设计均是老骥伏枥通过NASYUN论坛在全球首发。为的是进行学习,研究和技术交流。你可以用百度,谷歌去全网查查。绝对原创。请坛友们遵守GNU General Public License,未经授权禁止用于商业用途。仅有与本人紧密合作的mojelly论坛管理员和他的团队拥有全权授权。小白和菜鸟们在寻求商业帮助时,请认清正宗团队,谨防受骗。

安装过黑群晖系统的网友们都有这样的经验,先要做一个USB或CD的启动盘。然后就可以用群晖的SynologyAssistant工具从另一台电脑把群晖系统安装起来了。
安装后,每次重启电脑,都需要这个启动盘。这是因为群晖系统主启动程序没有在硬盘中,而只有系统挂载的根目录系统在硬盘中。所以硬盘是不能用来启动的。

对与一个已经安装完成的运行系统来说,需要一个额外的启动盘,实在是有点美中不足。毕竟这是因为黑了群晖系统,转而安装到PC的x86平台上才会产生这个问题。有没有办法让黑群晖的运行系统硬盘自启动呢?首先需要研究一下需求。群晖系统的重安装会,重新创建新的文件卷,都会重写硬盘的分区,并抹去所有的数据。如果我们把bootloader装到硬盘中,当然也会被抹去。因为群晖的原设计就是用硬盘存储数据的。运行群晖自己的平台,根本就不需要什么启动盘。黑群晖才有这个需求。并与群晖的原设计有所冲突。既然黑群晖有这个需求,我们就要想办法解决。如果我们能设计一个非常方便的方法,一键重装bootloader到黑群晖的硬盘,这个问题不就迎刃而解了吗。

能不能把bootloader到黑群晖的硬盘呢?这需要看看黑群晖的硬盘的分区结构。让我们用GParted工具分析一下,可以发现有一个可以利用的100多兆的空间。截图如下:
001.jpg
黑群晖的bootloader很小,只有15兆左右。把它安装在这个空间,问题就解决了。关键是如何才能方便地完成一键重装bootloader到黑群晖的硬盘。

老骥伏枥重新打包了一个用于黑群晖硬盘自启动的boot.img,并专门为它写了一个shell script用于把bootloader安装到黑群晖的硬盘。并做了一个Synology_Harddisk_Boot.zip的压缩包,网友们可以从百度云下载使用。
地址是:http://pan.baidu.com/s/1slctvVB
文件提取码为:
游客,如果您要查看本帖隐藏内容请回复

俗话说“授人以鱼不如授人以渔”;不知到是否有人对x86系统平台上BIOS的bootloader启动引导过程有兴趣,作为“抛砖引玉”我在这里以我打包的boot.img予以简单的介绍:在这个img包中,可以看到有6个文件:
ldlinux.sys
ldlinux.c32
menu.c32
libutil.c32
syslinux.cfg
zImage
但是还有一段代码是看不到的,它是MBR和引导代码,它的扇区位置是固定的。MBR是硬盘的第0个盘片的第0个面的第0磁道的0扇区。这就是为什么我要打包一个img文件而不是把文件发给大家的原因。我三十年前就出版过关于PC机启动引导的书,详细介绍过这方面的技术细节。三十年过去了BIOS引导没有什么变化和更新。黑群晖5.x版的引导技术相当陈旧。6.x版好像开始用grub了,有心的网友可以根据我介绍的思路,制作6.x版的boot.img。

黑群晖的x86系统平台加电后,主板CMOS芯片上的BIOS(Basic Input/Outpu System)程序检测与主板相连的硬件:CPU、内存、光驱、硬盘、软驱键盘等,然后加载系统卷中的引导扇区的MBR引导代码,把它加载到x86实模式的7C00地址并执行这段代码。如果在系统目录下有ldlinux.sys文件且有效,装载并把控制权交给它,如果是64位操作系统,ldlinux.sys将CPU切换到64位模式。之后读取并分析syslinux.cfg文件,根据设定加载并初始化linux内核。zImage是群晖定制的linux内核,在syslinux.cfg你可以看到:
MENU LABEL XPEnology DSM 5.1-5022
KERNEL /zImage
APPEND root=/dev/md0 ihd_num=0 netif_num=4 syno_hw_version=DS3615xs sn=B3J4N01003 vid=0x0EA0 pid=0x2168 loglevel=0 vga=0x305
这些斜体字才是破解群晖的重要参数。引导并不是关键部分。我个人不喜欢黑别家的系统,只愿意做自主知识产权得原创作品,所以也不能解释这些斜体字的参数意义。以下介绍我写的创建自启硬盘脚本,这是自主知识产权得原创作品。

用这个压缩包可以方便地制作一个黑群晖硬盘自启动。具体步骤如下:
1. 下载Synology_Harddisk_Boot.zip压缩包
2. 解压后有两文件:boot.img 和 setboot.sh
3. 在黑群晖的硬盘卷上创建一个share folder。例如:可以起名为hard_disk_boot
4. 把这两个文件上载到这个share folder。截图如下:
006.jpg
5. 从控制台或用ssh登陆到黑群晖。我是用PuTTY通过ssh连到黑群晖的。注意:登陆时一定要用root而不是用admin。密码是你初次安装黑群晖时设定的密码。admin和root的密码其实是一样的。截图如下:
003.jpg
6. 登陆后,切换到share folder。并设置文件的权限。
  1. cd /volume?/your_share_folder_name
  2. chown root:root boot.img
  3. chown root:root setboot.sh
  4. chmod 666 boot.img
  5. chmod 755 setboot.sh
复制代码


截图如下:
007.jpg
7. 执行 fdisk –l 查看一下你的硬盘分区情况和名称。截图如下:
008.jpg
从截图中可以看到,我的黑群晖系统现在挂载了两硬盘,每个8GB。一个是/dev/sdc,另一个是/dev/sdd。其中/dev/sdc1和/dev/sdc2是两个linux raid分区,这是黑群晖的根目录系统。/dev/sdc3是扩展分区,/dev/sdc5是linux raid的扩展逻辑分区,用做数据卷。在x86系统平台上,每个硬盘只容许有4个基本分区。sdc1,sdc2,sdc3用了三,幸好还为我们留了最后一个sdc4,让我们可以用来做黑群晖硬盘自启动。我想这可能是群晖系统设计时留下准备将来有什么用途的吧。不管怎样,我们现在可以用来做硬盘自启。另一个硬盘/dev/sdd的结构也是一样的。不管系统有多少硬盘,自启的bootloader只要安装到其中一个硬盘即可。一般我会选择安装到第一个硬盘。

8. 执行我写的shell script创建自启硬盘。这个脚本需要两个参数,第一个是硬盘的设备名,第二个是bootloader的映像文件名。例如,从当前目录执行时:
  1. ./setboot.sh  /dev/sdc  ./boot.img
复制代码


截图如下:
005.jpg
执行后,黑群晖的自启硬盘就生成了。你可以shutdown黑群晖,拔掉USB或CD的启动盘。试试让硬盘自启吧。祝你好运。

如果你想查看一下安装的情况,可以执行 fdisk –l 来查看。截图如下:
002.jpg

可以看到在/dev/sdc4,我们安装来自启的bootloader。

注意事项:
1, 安装硬盘自启会修改硬盘分区,一般情况下是不会破坏硬盘数据的。但还是会一定的有风险,论坛和发布文章的人不承担任何责任,后果自负。请无必事先备份好硬盘数据,以防万一。
2, 这是黑群晖5.1-5022版硬盘自启动,切勿用于6.x版。如果你想为6.x版做硬盘自启,请参见本文前面提到的抛砖引玉介绍。

老骥伏枥,祝大家新年快乐。

评分

参与人数 3云币 +10 贡献 +12 +10 收起 理由
佛性 + 1 神马都是浮云
baidwwy + 1 boot error错误,到PE里重建MBR就好了。YES
灰色头像。 + 10 + 10 + 10 很给力!

查看全部评分

最自然的一种表达方式,即是不写赞赏语,红色赞赏按钮就在那,大家懂的。

2人打赏

那是云论坛 - 国内知名的NAS交流平台
http://www.nasyun.com
分享淘帖
回复 印象

使用道具

16

精华

256

回帖

1000万

积分

技术达人

Rank: 6Rank: 6

云币
530
贡献
982
活跃
10000880
精华
16

NAS发烧友技术达人编辑能手突出贡献活跃会员

QQ
f541883216 发表于 2017-1-5 12:59 来自 加拿大

【老骥伏枥-原创】黑群晖5.2-5967版硬盘自启动并带Win7PE的映像

本帖最后由 f541883216 于 2017-1-17 03:23 编辑

发表了关于黑群晖5.x版硬盘自启动的探讨之后,很多坛友感觉对于老主板没有USB启动的主板有救了 ,你的主板只有4个SATA接口都可以安装一样大的硬盘,每个硬盘都可以利用起来了,再也不用小硬盘浪费一个接口了。但由于大多数坛友习惯用Windows,而不习惯Linux。所以希望我能为硬盘自启动映像加上Win7PE工具盘。因为群晖的硬盘的分区结构在做对齐时留下非常有限的127-133兆左右的可利用空间。所以根据坛友jiangjcdqjcy的要求,和他提供的5.2-5967boot映像。非常谢谢他的协助。我为大家打包了一个专门用于黑群晖5.2最终版的带Win7PE工具的硬盘自启映像。


原理我在上一篇文章中已经详细介绍过了。这里就不再赘述了。应为要打包Win7PE工具盘,所以这个映像比较大。
地址是:http://pan.baidu.com/s/1pLyIJHp
文件提取码为:
游客,如果您要查看本帖隐藏内容请回复



这个压缩包安装的方法和步骤与我上一篇文章介绍的相同。我个人比较喜欢用Linux的脚本来安装,所以我写了脚本来方便大家安装。但也有坛友喜欢用Win7PE工具盘来安装。请参考jiangjcdqjcy的教程分享 ---  黑群晖NAS服务器硬盘自启动安装图片 http://www.nasyun.com/thread-28661-1-2.html


群晖5.2-5967最终版的硬盘设备名都多加了一个字符,例如:  原来的/dev/sde变成了 /dev/sdae;原来的/dev/sdf变成了 /dev/sdaf;不知道群晖为什么要这样做?可能是想给不太了解Linux的坛友添点麻烦吧。请看截图:
new002.jpg
执行我写的shell script创建自启硬盘时。这个脚本需要两个参数,第一个是硬盘的设备名,第二个是bootloader的映像文件名。例如,要让设备/dev/sdaf变成自启动硬盘,从当前目录执行时:

  1. ./setboot.sh  /dev/sdaf  ./boot52-5967.img
复制代码

如果你想查看一下安装的情况,可以执行 fdisk –l 来查看。截图如下:
new001.jpg
黑群晖启动后,你有10秒钟的时间选择项目,截图如下:
new003.jpg
可以看到Win7PE工具盘了。希望大家喜欢我的作品。谢谢!

注意事项:
1, 安装硬盘自启会修改硬盘分区,一般情况下是不会破坏硬盘数据的。但还是会一定的有风险,论坛和发布文章的人不承担任何责任,后果自负。请无必事先备份好硬盘数据,以防万一。
2,请确认你安装的黑群晖是使用主引导记录MBR和MS-DOS标准分区表的老主板,而不是使用UEFI分区格式的GPT分区表的新主板。
3,安装硬盘自启前请严格检查大小版本号是否与本映像一致,切勿盲目安装。以免造成不能硬盘自启。
4,如果版本号不同,请使用你当前版本的zImage文件替换本映像中的zImage文件,对映像版本进行修正。如果曾经用算号器洗白,请修正本映像中syslinux.cfg文件中的sn系列号和mac地址,以保证洗白的硬盘自启。




点评

之前的步驟都進利進行,一直到最後一步 ./setboot.sh /dev/sdaf ./boot52-5967.img, 輸入後顯示 the device free size is too small for bootloader, 有沒有高手能指導一下。。就卡在最後這一步未能成功完成  详情 回复 发表于 2022-11-10 11:39
回复 支持 反对 印象

使用道具 举报

16

精华

256

回帖

1000万

积分

技术达人

Rank: 6Rank: 6

云币
530
贡献
982
活跃
10000880
精华
16

NAS发烧友技术达人编辑能手突出贡献活跃会员

QQ
f541883216 发表于 2017-1-16 04:49 来自 加拿大
经坛有友实际测试,这种方法只能用2t以下的硬盘,2t以上的硬盘不成功,2t以上的硬盘分区是用的GPT分区,不能设置活动分区,2t以下的传可以设置活动分区,看来还需要搞一个6.02的带uefi启动的winpe x64位的win8.1pe和win10的pe映象。
回复 支持 1 反对 0 印象

使用道具 举报

0

精华

29

回帖

6523

积分

人机合一

Rank: 4

云币
0
贡献
726
活跃
2878
精华
0
shwk88888 发表于 2017-1-4 05:28 来自 中国吉林长春
看看,谢谢
回复 印象

使用道具 举报

0

精华

81

回帖

1173

积分

发烧玩家

Rank: 2

云币
0
贡献
127
活跃
492
精华
0
黄河魂 发表于 2017-1-4 07:45 来自 中国山东东营
hgjhgjghjghjghjgh
回复 支持 反对 印象

使用道具 举报

0

精华

21

回帖

1173

积分

发烧玩家

Rank: 2

云币
0
贡献
195
活跃
187
精华
0
QQ
zhuyun 发表于 2017-1-4 12:39 来自 中国浙江绍兴
回复 印象

使用道具 举报

0

精华

13

回帖

184

积分

入门用户

Rank: 1

云币
0
贡献
27
活跃
42
精华
0
mzhyun 发表于 2017-1-4 13:27 来自 中国河南郑州
谢谢楼主分享
回复 支持 反对 印象

使用道具 举报

0

精华

103

回帖

2008

积分

搞机大神

Rank: 3Rank: 3

云币
0
贡献
257
活跃
668
精华
0
chunhui 发表于 2017-1-4 17:04 来自 中国河北
一般人很难弄明白啊
回复 支持 反对 印象

使用道具 举报

0

精华

17

回帖

143

积分

入门用户

Rank: 1

云币
0
贡献
25
活跃
9
精华
0
morong 发表于 2017-1-4 22:00 来自 中国广东深圳
试一下。。。
回复 印象

使用道具 举报

0

精华

17

回帖

143

积分

入门用户

Rank: 1

云币
0
贡献
25
活跃
9
精华
0
morong 发表于 2017-1-4 22:34 来自 中国广东深圳
装的是这个http://www.nasyun.com/thread-24296-1-1.html
不行。 开机说 boot error
回复 支持 1 反对 0 印象

使用道具 举报

0

精华

17

回帖

143

积分

入门用户

Rank: 1

云币
0
贡献
25
活跃
9
精华
0
morong 发表于 2017-1-4 22:36 来自 中国广东深圳
Ken_Diskstation> fdisk -l

Disk /dev/sda: 750.1 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks  Id System
/dev/sda1               1         311     2490240  fd Linux raid autodetect
Partition 1 does not end on cylinder boundary
/dev/sda2             311         572     2097152  fd Linux raid autodetect
Partition 2 does not end on cylinder boundary
/dev/sda3             588       91201   727848912   f Win95 Ext'd (LBA)
/dev/sda4   *         572         588      130048   e Win95 FAT16 (LBA)
Partition 4 does not end on cylinder boundary
/dev/sda5             589       91189   727744480  fd Linux raid autodetect

Partition table entries are not in disk order

Disk /dev/synoboot: 7747 MB, 7747397632 bytes
4 heads, 32 sectors/track, 118215 cylinders
Units = cylinders of 128 * 512 = 65536 bytes

        Device Boot      Start         End      Blocks  Id System
/dev/synoboot1   *           1         252       16096+  e Win95 FAT16 (LBA)
Ken_Diskstation> reboot

Broadcast message from root@Ken_Diskstation
        (/dev/pts/1) at 22:32 ...
回复 支持 反对 印象

使用道具 举报

0

精华

22

回帖

1203

积分

发烧玩家

Rank: 2

云币
0
贡献
188
活跃
252
精华
0
chengru 发表于 2017-1-4 23:09 来自 中国台湾
新人路過,學習一下
回复 支持 反对 印象

使用道具 举报

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

本版积分规则

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