为什么电脑不亮灯(by quqi99)

作者:张华 发表于:2026-06-04
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明

一天之内同时坏了两个电脑, 一个威联通nas, 一个华硕nuc. 都一个症状,电源灯不亮, 都买了单独的电源适配器都仍然不亮。

修复威联通nas

后来将nas上的一块硬盘挪到移动硬盘上恢复数据时发生连移动硬盘的灯都不亮了,才知道原来电源灯不亮是因为坏了一块硬盘的原因。 另外,若nas真坏了,那如何恢复数据呢?

复制代码
hua@y9000p:~$ sudo fdisk -l
...
/dev/sda1               40    1060289    1060250 517.7M 83 Linux
/dev/sda2          1060296    2120579    1060284 517.7M 83 Linux
/dev/sda3          2120584 3906011969 3903891386   1.8T 83 Linux
/dev/sda4       3906011976 3907007999     996024 486.3M 83 Linux
hua@y9000p:~$ sudo mdadm --assemble --scan
mdadm: /dev/md9 has been started with 1 drive (out of 2).
mdadm: /dev/md/2 has been started with 1 drive (out of 2).
mdadm: /dev/md/0 has been started with 1 drive (out of 2).
mdadm: /dev/md13 has been started with 1 drive (out of 2).
hua@y9000p:~$ cat /proc/mdstat
Personalities : [raid1] 
md13 : active raid1 sda4[0]
      458880 blocks [2/1] [U_]
      bitmap: 48/57 pages [192KB], 4KB chunk
md0 : active raid1 sda3[0]
      1951945556 blocks super 1.0 [2/1] [U_]
md2 : active raid1 sda2[0]
      530128 blocks super 1.0 [2/1] [U_]
md9 : active raid1 sda1[0]
      530048 blocks [2/1] [U_]
      bitmap: 36/65 pages [144KB], 4KB chunk
unused devices: <none>
2, 用只读模式挂载它
sudo mount -o ro /dev/md0 /mnt/tmp/
ls /mnt/tmp/
sudo umount /mnt/tmp/
sudo mdadm --stop /dev/md0

修复华硕nuc

nuc电源灯不亮是因为静电保护,拆掉主板上的电池(打开华硕nuc之后找不到电池,那是因为在主板反面,但那个主板从壳子上拆不下来,需要朝两个bai一下就行)放电后电源灯就能亮了。

电源灯亮了之后,却屏幕一直黑屏, 那是内存条的事,拆下来用酒精擦接口一个个试就好了。

恢复路由器

其实同一天,路由器也有点问题,倒是没事,但声音太大了。所以换成了手头一个双网口的大唐nuc做路由器.

复制代码
1, 下载esir的lede op固件 - op-buddha-version-v2\[2026]-x86-64-generic-squashfs-uefi.img.gz
2, 解压: gzip -d op-buddha-version-v2\[2026]-x86-64-generic-squashfs-uefi.img.gz
3, 在ubuntu上用balenaEtcher将op-buddha-version-v2\[2026]-x86-64-generic-squashfs-uefi.img做U盘
4, 将U盘插入到大唐NUC,它默认就进入到了U盘中的op。注意:op必须在键盘上按一下回来才会激活CLI窗口
5, 但上面这步仅是从U盘启动,如何从硬盘启动呢?可以先电脑连接U盘启动的op系统,然后在电脑上运行: scp op-buddha-version-v2\[2026]-x86-64-generic-squashfs-uefi.img root@192.168.99.207:/tmp/  再在op CLI窗口运行(连个显示器): dd if=/tmp/op-buddha-version-v2\[2026]-x86-64-generic-squashfs-uefi.img of=/dev/sda bs=4M conv=fsync && sync
6, 上面一步如何连接电脑呢?
       首先op没有大唐NUC的无线网卡驱动,所以电脑无法通过无线连接op
   op默认将eth0用于br-lan, 将eth1用于外网(默认使用dhcp)
       而我的y9000p又恰好有线网卡不work, 所以只能通过y9000p连接wifi (这个wifi来自华为wifi6路由器,华为路由器作为下游接着连接op的交换机)
   所以最开始将op挂在原来家里老路由器下时,它就直接从老路由器上分配了eth1=192.168.99.206, 此时必须从op CLI窗口中修改/etc/config/firewall中将wan的INPUT从REJECT改成ACCEPT(option input 'ACCEPT')之后再重启' /etc/init.d/network restart'就可以从机器上通过 192.168.99.206来访问WEB了。
7, 将eth1从默认的dhcp改成pppoe - 修改 /etc/config/network后再运行/etc/init.d/network restart
config interface 'wan'
        option device 'eth1'
        option proto 'pppoe'
        option username 'xxx'
        option password 'xxx'
8, 坑一,但是,我找另外一台有有线网卡的机器,将它连接op上的eth0接口,会有IP,但无法访问它的WEB界面。 后来发现原来华为路由器上有dhcp,当op在br-lan上也打开dhcp时, 必须将强制设置为1 (option force '1',  即使检测到另一台服务器,也要强制使用此网络上的 DHCP。)
vim /etc/config/dhcp
config dhcp 'lan'
        option interface 'lan'
        option start '100'
        option limit '150'
        option leasetime '12h'
        option dhcpv4 'server'
        option dhcpv6 'server'
        option ra 'server'
        list ra_flags 'managed-config'
        list ra_flags 'other-config'
        option force '1'
9, 坑二,在op里修改了配置如/etc/config/network之后,直接拨电源重启后配置将丢失,但用reboot无事(只是看起来慢一些)
10, 坑三,ssh不支持rsa改用ed25519
8#ssh-keygen -t ed25519 -a 100 -f ~/.ssh/id_ed25519_opalias sshgw='ssh -i ~/.ssh/id_ed25519_op root@192.168.99.1 -p22'
11, 抗四,打开了tailscale造成本机机器无法ping GW, 所以这种涉及网络的还是尽量在那个armbian上做吧。
12, 坑五(下面的方法并不work), 如何将op的硬盘扩容到整块硬盘, 使用cfdisk图形化工具手动将剩余空间创建了/dev/sda3分区
opkg install parted losetup resize2fs blkid
root@op:~#df -h
/dev/sda1       512     33279     32768    16M Linux filesystem
/dev/sda2     33280   2130431   2097152     1G Linux filesystem
/dev/sda3   2131968 976773119 974641152 464.7G Linux filesystem
/dev/sda128      34       511       478   239K BIOS boot

mkfs.ext4 /dev/sda3
然后先在GUI的挂载点(http://192.168.99.1/cgi-bin/luci/admin/system/mounts)处点"生成配置"这样这在挂载点处能看到/mnt/sda3了, 然后编辑这个挂载点:1)点击"已启用" 2)挂载点选"作为根文件系统使用(/),然后使用下列命令来复制根文件系统(但复制出来的/dev/sda1应修改成/dev/sda3):
umount /mnt/sda3 2>/dev/null || true
mkdir -p /tmp/introot
mkdir -p /tmp/extroot
mount --bind / /tmp/introot
mount /dev/sda3 /tmp/extroot
tar -C /tmp/introot -cvf - . | tar -C /tmp/extroot -xf -
sync
umount /tmp/introot
umount /tmp/extroot
reboot

#之前
root@op:~# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root               190.3M    190.3M         0 100% /rom
tmpfs                     7.7G     16.4M      7.7G   0% /tmp
/dev/loop0              831.8M     69.2M    762.6M   8% /overlay
overlayfs:/overlay      831.8M     69.2M    762.6M   8% /
/dev/sda1                16.0M      6.6M      9.3M  42% /boot
/dev/sda1                16.0M      6.6M      9.3M  42% /boot
tmpfs                   512.0K         0    512.0K   0% /dev

13, 安装docker, 反正上面的/dev/sda3也无法扩展overlay分区,那这里docker刚才直接用它吧
opkg update >/tmp/opkg-update.log
opkg install docker dockerd docker-compose
opkg install python3 python3-pip
mkdir -p /mnt/docker && mount /dev/sda3 /mnt/docker/
root@gw:~# grep -r 'docker' /etc/config/fstab -A2 -B1
config mount
	option target '/mnt/docker'
	option uuid 'a36d8d4e-2bce-4eb3-99d9-1e85ae8bd3f3'
	option enabled '1'
#mount -t overlay overlay -o lowerdir=/mnt/docker,upperdir=/mnt/docker/diff,workdir=/mnt/docker/work /mnt/merged  #for overlay2
/etc/init.d/dockerd stop && dockerd --data-root=/mnt/docker #debug it
docker run -d --name nginx --network host nginx:alpine
docker rm -f nginx 2>/dev/null || true
#avoid using the port 80
docker run -d \
  --name nginx \
  --network host \
  nginx:alpine \
  sh -c "sed -i 's/listen       80;/listen       8080;/' /etc/nginx/conf.d/default.conf && sed -i 's/listen  \\[::\\]:80;/listen  [::]:8080;/' /etc/nginx/conf.d/default.conf && exec nginx -g 'daemon off;'"
wget -O- http://127.0.0.1:8080
docker exec -it nginx sh

14, 安装nas(依赖kernel), 改装用户态samba
opkg install samba4-server luci-app-samba4
#on win: \\192.168.99.1\share
sudo mount -t cifs //192.168.99.1/share /mnt -o username=hua,password=xxx,vers=3.0,iocharset=utf8,uid=$(id -u),gid=$(id -g)

#autofs
sudo mkdir -p /etc/smbcredentials
sudo tee /etc/smbcredentials/op-share >/dev/null <<'EOF'
username=hua
password=xxx
EOF
sudo chmod 600 /etc/smbcredentials/op-share
#use id command to get gid, sudo apt install autofs cifs-utils  , use 'username=hua password=password' in op-share
/share -fstype=cifs,rw,credentials=/etc/smbcredentials/op-share,uid=1040570724,gid=1040570724,iocharset=utf8,vers=3.0 ://192.168.99.1/share

root@gw:~# cat /etc/config/samba4
config samba
	option workgroup 'WORKGROUP'
	option charset 'UTF-8'
	option description 'op NAS'
	option homes '0'
config sambashare
	option name 'share'
	option path '/mnt/docker/share'
	option read_only 'no'
	option guest_ok 'no'
	option create_mask '0666'
	option dir_mask '0777'
	option users 'hua'
root@gw:~# cat /etc/samba/smb.conf |grep '\[share\]' -A9
[share]
	path = /mnt/docker/share
	valid users = hua
	create mask = 0666
	directory mask = 0777
	read only = no
	guest ok = no
	vfs objects = io_uring
相关推荐
qq_452396231 小时前
第十八篇:《Docker 监控与性能优化》
docker·容器·性能优化
Albert Edison2 小时前
【Docker】镜像仓库(Registry)
运维·docker·容器
梦梦代码精2 小时前
从源码到上线:实测开源电商系统的技术选型与部署落地
docker·开源
呆萌的代Ma2 小时前
解决docker网络问题,通过GitHub Actions打包dockerfile
docker·容器·github
qq_452396232 小时前
第十七篇:《Docker 日志管理:驱动配置与集中收集》
运维·docker·容器
Dontla3 小时前
WSL2 docker-desktop发行版介绍(用于运行Docker引擎(Docker Engine))(docker-desktop-data)
运维·docker·容器
小蜗牛的路3 小时前
Linux redhat 7在线安装docker、下载docker依赖、离线安装docker
linux·运维·docker
qq_452396233 小时前
第十六篇:《Docker 安全基础:容器隔离与权限控制》
安全·docker·容器
Plastic garden3 小时前
Docker Compose 的 RuoYi nginx exporter Prometheus + Alertmanager + 钉钉告警
nginx·docker·prometheus