翻车导致的一篇文章:威联通NAS救砖指南修复固件全攻略
提示:本篇文章2092字符,阅读大约需要5分钟。
写在前面
这是一篇由意外 导致的文章更新。本来这一期开始要给大家逐步开始讲解QTS的各项功能,包括虚拟机、docker等的玩法。但是,今天下午,本薇稍稍有些玩脱了。
事件起因是一个做NAS的朋友把他们的测试版系统发给了我,主要目的呢不外乎测测系统bug以及一些功能方面的问题。但是他们打包的ISO呢,真的实现了”安装全自动化“,中间完全没给我选择的空间。然后非常恰好的,我手上这台TS-464C2这几天正在被我测试各种玩法,上面根本没有什么重要数据。于是,不出意外的,我在这台NAS上安装了新的NAS系统。
于是,结果可想而知,这个系统被刷写进了NAS的第一个存储分区——emmc,直接覆盖掉了TS-464C2的引导。现在系统引导变成了Debian11,嗯,这是不是也是一种NTR呢?
这个时候,大家是不是会想这下完蛋了。昨天刚写完威联通延保教程,今天这不就用上了吗?然而,这点小小的故障怎么会难得到本薇呢?
固件恢复
品牌NAS的固件恢复是一个很少被人讨论的事情。大家都习惯了它们的稳定性,但是殊不知这些被存放在flash芯片里面的固件也是有可能会坏的。一般常见于老机型在升级新系统的时候出现问题,导致固件损坏,属于“NAS变砖”类型中的一种 。
这个时候,是否能支持用户自行刷写固件便成了重中之重 。因为,上一篇文章我们也提到过,大部分品牌NAS的保修期只有两年,过了这两年,如果固件损坏,厂家完全是可以拒保的。另一方面,如果允许用户自行修复固件,既减少了售后率,又可以为用户节约时间。
从这个角度讲,威联通开放用户自行刷写固件算是非常人性化的选择。另外,刷写固件(救砖)的过程不需要插入任何硬盘,只需要准备一个U盘即可。完全不需要担心损坏你的数据。
好感度+1。
刷写过程
适用情况说明
威联通针对各个架构的NAS均有刷写固件的教程,因此理论上符合下面所列条件的各台威联通NAS都可以自行刷写或者修复固件。不过因为笔者用的是TS-464C2,因此今天主要讲解一下x86平台的NAS如何刷写固件。
将你的威联通NAS通过HDMI接口接上显示器,或者如果有console口的,用转接器连接显示器也可以。这个时候,只要你的显示器可以显示BIOS,那么大概率你的NAS是可以通过刷写固件进行修复的。
当然,如果连BIOS界面都无法显示的话,建议直接返厂维修即可。
修复固件引导一般适用于因升级系统、NAS常年开机等固件错误导致Qfinder Pro无法找到NAS IP,且经过系统重置仍然无法解决问题的情况 。不适用于修复flash芯片物理损坏的情况。
注: 本教程来源于威联通官方教程,链接如下。如果有其他机型需要刷写固件的值友可以参考官方英文教程。
硬件准备
(如需要)D-SUB 9P 母头转 3.5mm 插头。
一个格式为FAT32的U盘,一般16G肯定够用了。
前序准备
注: 本文所有用到的软件和系统固件的下载方式均可以在上述提到的链接里面找到。
第一步, 下载并安装Rufus 。
第二步, 根据NAS机型下载对应的clonezilla,我这里下载clonezilla-live-20221103-kinetic-amd64.iso。
第三步, 根据NAS机型下载对应的DOM固件;
第四步, 打开Rufus将clonezilla写入U盘;
第五步, 将第三步下载好的DOM固件重命名为dom.img,然后复制到U盘根目录。
刷写固件
第一步, 关闭NAS电源,移除所有硬盘(重要) ;
第二步, 将U盘接入NAS,然后开机时狂摁delete键进入BIOS设置,将U盘设置为第一选项启动,然后保存退出;
第三步, 根据连接显示器的类型选择安装模式,这里因为因为TS-464C2具有HDMI接口,所以本薇这里选择Clonezilla Live (Default settings, VGA 800x600) ;
第四步, 选择语言,选英语;
第五步, 选择进入cmd模式,这个时候你就能看到熟悉的命令行了;
第六步, 输入命令;
sudo su
第七步(可选) ,确认DOM安装路径,或者根据网页提示的机型存放的位置直接进行下一步即可,这里464C2的存放路径为/mmcblk0 ;
第八步, 打开U盘,英文版教程同样也提供了U盘路径,见上图,464C2的U盘路径为/dev/sda/dev/sda;
第九步, 输入命令将U盘存放的dom.img复制到flash芯片里面即可。
cp dom.img /dev/mmcblk0
第十步, 输入reboot重启,并拔掉USB设备。
升级系统固件
上一节,只是将核心系统刷写进了flash芯片,可以保证大家开机能找到NAS IP。如果想要正常使用,还需要将固件更新到最新版本。
第一步, 插电开机,然后用Qfinde Pro找到NAS IP;
第二步, 在对应的NAS选项上右键,点击更新系统软件;
第三步, 输入默认用户名:admin,默认密码:admin 。这个算是一个坑点,这个时候因为里面装的仅仅是一个核心系统,并不是最新固件,所以默认用户名和密码并不是admin和MAC。威联通的官方教程也没有提到这一点,导致昨天我试了好多遍密码。
第四步, 从威联通官网上下载最新固件并上传;
第五步, 更新固件完重启,即可看到启动智能安装的选项了。
总结
威联通NAS刷写固件并不难,主要是官方只有英文教程,今天本薇就帮大家补齐一下中文教程。其他x86平台的NAS均可参考上述教程刷写固件,只不过用到的Clonezilla 和DOM 固件版本不一样而已。
下一期,本薇将正式带大家开启威联通的各种玩法。
这就是本期的全部内容了,如果这篇文章对您有帮助的话,欢迎您在评论区多多讨论,也欢迎关注、点赞、打赏一键三连,您的支持对我非常重要。
我是冥冰薇,点个关注不迷路,我们下期再见。
为什么固态会掉盘?著名的30分钟大法修复是什么原理?
如果现代的台式机或者笔记本忽然断电(Power Loss),你觉得哪个硬件部分容易损坏?出乎大多数人的意料的是,固态硬盘SSD最脆弱,容易出现掉盘的现象,也就是BIOS和操作系统不认盘的情况。今天我们就一起来Deep Dive一下原理和应对之道,并对有趣的“30分钟大法”的原理和是否正确进行一些分析。
FTL损坏和丢失
我介绍了很多SSD的原理,其中最重要的根本是对FTL的理解。SSD甚至SD卡、手机存贮的很多问题和解决方案都或多或少地和它相关,再怎么强调都不为过。为了理解后面的原理,我们先来简单回顾一下FTL:我们的写(Program)Flash操作只能把bit 1改成0,而不能从0改成1. 即我们可以把11110000改成11000000,但不能改成11111111。即有点像逻辑and操作(我们可以通过NAND这个名字联想记忆一下)。那么如何把0改回1呢?这就要靠擦除操作了,但是别忘了,NAND flash的寿命是由其擦写次数决定的(P/E数 (Program/Erase Count)来衡量的),频繁的擦除慢慢的会产生坏块,如FAT分区的文件分配表(老狼:FAT文件系统与UEFI)等。为了能够做到寿命均衡(Wear Levelling)和对坏块的遮蔽,就需要一个逻辑地址(LBA,logical block addresses )和物理地址(PBA, physical block addresses)的对应表,对外界暴露逻辑块,里面是具体是哪个物理块,固件自己做主,这个对应关系表就是FTL表:
因为LBA大部分实现是基于Page的,也叫做Page Mapping Table (PMT):
FTL看起来挺简单,但它是SSD、NAND等基础逻辑,它的实现多种多样,是各个固件的核心机密。也有些Open Source的方案。
FTL表在哪里呢?作为核心数据结构,它当然也要存储在Flash上。但由于它会被频繁更新,所以每次改动也不能立刻写会Flash,一般会先暂存在内存中,在积累到一定程度,再写回Flash:
什么时间写回,这是SSD固件的核心机密之一。另一方面,随着SSD容量的提高,FTL表的容量也快速上涨。我们以8GB的为例,FTL表不加处理可以达到8MB;以此类推,800G的SSD,FTL表可以有800MB!有些省空间的方案可以大大减小FTL表的大小,但也高达数十MB。这么大,FTL表也就有了部分被换入换出的过程。如何设计,也是很讲究技巧的。
FTL表如此重要,没了它,整个SSD/SD卡就没法工作了。如果在FTL写回Flash之前,还在内存的时候,忽然没电了,内存数据丢失,FTL表也就丢失了。有鉴于此,高端SSD和服务器SSD都加上了电容,来作为应急供电方案,让SSD控制器有时间把内存中的FTL表和一些缓存内容存到Flash上去:
现实中的例子,我们在M.2的SSD上面有很多很小的电容:
在Vcc没电的时候,这些电容的gate就会打开,会为主控争取1ms左右的时间。主控会立刻放弃现在所有没有存储的数据,而立刻开始存储FTL表,保证不会出大问题。
在企业级的SSD中,有的DRAM大小将近1GB,而企业SSD的数据完整性要求极高,不容有失,不但FTL表要存好,DRAM中没有存储过的,也必须全部存下来。这就需要很大的电容,来争取更多的时间,如果我们拆开企业SSD,就会发现很多大黄快:
它们也是为了这个目的。
但是,一些低端消费级的SSD,没有这种措施,忽然掉电,会造成FTL丢失。那么发生这种情况是不是SSD就报废了呢?也不是。
FTL表的重建
在内存中FTL丢失之前,Flash上还有上次的FTL内容,虽然已经过时了,但总比没有好吧!于是可以搜索SSD中的Flash,找到上次的FTL,这样尽管会丢失一些信息,但大部分数据可以保持。于此同时,有些实际块已经被分配使用过了,再次用会发生错误,就需要修正最后的FTL。那么怎么修正呢?
每个Flash的page都有一些额外的空间,这些空间大部分做ECC校验用,但还有些富余,我们拿来做Mapping Flag(MF):
有了这个提示,我们可以逐Page扫描整个Flash,来修正FTL。
看到逐Page,就知道这是个很耗时的工作。现在SSD那么大,需要不少时间,可以高达数分钟乃至数十分钟!
那么什么时间做FTL的重建呢?不少主控都在发现错误后会开始重建,直到成功重建,主控才会响应ATA等命令。这就是为什么忽然断点后,有些SSD会很长时间没有响应,想掉盘一样了!那么为什么有时候断电后又没问题呢?如果当时最新的FTL已经被写回Flash中去,没有错误,当然也就不会出问题了。
30分钟大法是怎么回事?
掉电后各个主控的表现不一,这和它们的FTL存储算法有关。某些主控可以迅速恢复,有些则可能耗时很久,为了给某些主控充足的时间重建FTL表,掉盘后可以这样做:
1.掉电开机后,发现掉盘。如果是系统盘,则启动失败,如果是数据盘,则在操作系统里面发现该盘没有了。
2.不要立即重启,啥也不干,等待30分钟,让SSD主控充分的时间自行修复FTL。
3. 30分钟后,关机。再开机,看能不能找到该SSD。
有些同学还有些额外的步骤,即不插数据线,光插电源线开机30分钟。尽管我现在已经不做Flash相关工作,但我从经验和原理上认为这个步骤不是必须的。另外M.2的SSD也可照此办理。
需要特别提醒的是,比较忌讳在此过程中十分烦躁,不停关机开机和重启,打断主控重建FTL的过程,有可能加剧错误造成彻底不可以用了。
结论
断电会造成FTL表损坏,进而可能出现掉盘的现象。正确利用30分钟大法,可以修正部分问题,关键是给主控充分的时间进行FTL表的重建。其实不光断电,高温也有可能造成掉盘。我在我的笔记本M.2上插了块500GB某厂SSD,在大量拷贝电影时,过热会让该SSD主控忽然停止工作。我的笔记本这时就会没有响应,在过了一会后,要不蓝屏,要不就是发现该盘符没有了。这是我如果直接重启,就会发现在BIOS里面和Windows中,该硬盘都没有了。我这时就会让笔记本凉一会,再重启,硬盘就又出现了。这也是30分钟大法的一个变种。
如果还不能修复,其实还可以进入工程模式进行恢复。但是该过程比较复杂,软件昂贵,还是留给专业人士吧!
我在下一篇文章会介绍为什么有时候micorSD卡(TFlash卡/T卡)会忽然进入类似写保护状态,敬请期待!
相关问答
u盘量产成2个盘后,怎么 修复 成1个盘 - 懂得或者同类软件找到U盘的主控型号。2、根据主控型号找到U盘对应的量产工具。3、将U盘插入电脑,并运行量产工具,在量产工具的设置中取消CD...2、根据...
你好,我的小米4线刷不成功,miflash刷机时显示partition tabl...错误代码的意思是分区不存在。请问你是不是从安卓6.0降到4.4.4呢现在的...在flash_all.bat文件中开始位置增添“fastboot%*flashpartition...
系统掉盘怎么 修复 ?掉盘可以理解为非常严重的卡顿,卡到电脑已经不能识别到硬盘了,就像SSD已经从电脑上拔掉了一般,在操作系统停止响应一段时间后不能自行恢复正常,蓝屏或自动重...
电脑 硬盘分区 读取扇区错误是什么意思 - 懂得可能有逻辑坏道,你格式化在测试一下,如果格式化后无此现象就不是物理坏道。如果会用MHDD检测那个是比较准确的。硬盘上可能有坏道,建议找专业技术...
oppo手机进入fastboot后怎么刷机?进入fastboot模式:1关机2按音量上+开机3看到fastboot时,按音量上进入fastboot模式。fastboot模式刷机:1下载moto-fast...进入...
BIOS問題 flash rom protection-ZOL问答flashromprotection是RON芯片刷写保护也就是通常说的刷BIOS,当升级BIOS时要要选DISABLE,其实一直设为禁用就可以了,开启是防止他人恶意刷BIOS导致损坏。关闭...
emmc怎么才能清除?eMMC本身有几个可以操作的Flash空间,一般普通用户可以清理User区,但是Boot区,CSD及相关寄存器是无法涉及的。比如手机里面,除了手机系统以外,你还可以把照...
U盘不能删除 分区 ,怎么办?_其他问答_系统粉将U盘查到电脑上点击【开始】找到并打开【Windows系统】的下拉按钮,找到【命令提示符】在“命令提示符”上右键>【更多】>【以管理员身份运行】打开...
128u盘装了u启动变成32g如何恢复?方法如下:1、在“计算机管理”中进行格式化。2、用USBoot等类似软件修复。3、到U盘之家下载对应的U盘修复工具,进行修复。U盘是USB(universalserialbus)盘...
为什么电脑看不了视频(装有 flash 插件) - 158****8719 的回答...你FLASH是最新的吗下面3个情况,一个一个试,看看能行吗1。你把IE栏的工具里面的INTERNET选项---高级==多媒体---显示动画勾上,确定2。不能播放Flash...