[Help] Brand New F4 F425 pro Fails to Boot after Install
Posted: 30 Jun 2026, 13:29
Subject: F4-425 Pro — boot failure after simple network IP change (brand new unit, no data yet)
Model: F4-425 Pro
TOS Version: Factory TOS7 Pro unit 7.0.0750
BIOS - BJFX-TWLX-108
Disks: 1x SSD/NVMe (256GB, used for OS + Docker), 6TB HDDs not yet installed
RAID Configuration: None yet — single SSD, no array built
Issue:
Brand new unit, freshly initialized. After successfully installing Docker/Portainer and migrating several containers over (working fine), I made a simple network change — changed the static IP address via Control Panel → Network — and rebooted. The unit failed to boot afterward.
Boot failure details:
HDMI console shows repeated mdadm: error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directory
Followed by No root device specified. Boot arguments must include a root= parameter.
Drops into BusyBox v1.30.1 (Ubuntu 1:1.30.1-7ubuntu3.1) rescue shell
In this rescue shell, most tools (mdadm, lsblk, fdisk) are missing or broken with the same libdl.so.2 error
Steps taken so far:
Performed the documented RESET button procedure (hold reset, tap power while holding, wait for 3 beeps, release) — unit then booted to TNAS initialization page
With SSD removed, initialization page shows "no disks detected" (expected, since SSD wasn't installed)
Hot-plugged SSD back in while TOS initialization page was active — initialization still does not detect/list the SSD as available storage
From the boot menu, used the "c" command-line option which appears to be a GRUB prompt
In GRUB, ran ls — shows (hd0), (hd0,gpt1) [internal boot flash, ~240MB], and (hd1) with (hd1,gpt1) through (hd1,gpt4) — presumably the NVMe SSD
ls (hd1,gpt1)/ shows boot and EFI folders (readable)
ls (hd1,gpt2)/, ls (hd1,gpt3)/, ls (hd1,gpt4)/ all return "unknown filesystem" — GRUB cannot read any of these partitions
Current state:
SSD is physically installed
GRUB can see the NVMe device and its 4 partitions, but only the boot/EFI partition (gpt1) is readable
TOS initialization wizard does not detect the SSD as available storage
Console/BusyBox rescue environment cannot run basic diagnostic tools due to library errors
Question:
Is this recoverable, or does this indicate a failed/corrupted NVMe SSD or a deeper TOS firmware issue? Given this happened on a brand new unit after a simple, routine network IP change (no disk/RAID operations were performed beforehand), I'm concerned this may be a hardware or firmware defect — just need to understand if this unit is faulty and needs RMA, or if there's a recovery path I'm missing.
*** Update
Mounted the SSD in Proxmox to check disk
had to use both mdadm and then LVM to see folder/file structure
Able to see all folders so SSD is good.
btrfs check --readonly /dev/vg0/lv0
Opening filesystem to check...
Checking filesystem on /dev/vg0/lv0
UUID: 60e683e0-34fda5-451c-a8c4-95ffa186e5ad
[1/8] checking log skipped (none written)
[2/8] checking root items
[3/8] checking extents
[4/8] checking free space tree
[5/8] checking fs roots
[6/8] checking only csums items (without verifying data)
[7/8] checking root refs
[8/8] checking quota groups skipped (not enabled on this FS)
found 23573684224 bytes used, no error found
total csum bytes: 22849592
total tree bytes: 175702016
total fs tree bytes: 140509184
total extent tree bytes: 5111808
btree space waste bytes: 28575686
file data blocks allocated: 33843269632
referenced 23548944384
Model: F4-425 Pro
TOS Version: Factory TOS7 Pro unit 7.0.0750
BIOS - BJFX-TWLX-108
Disks: 1x SSD/NVMe (256GB, used for OS + Docker), 6TB HDDs not yet installed
RAID Configuration: None yet — single SSD, no array built
Issue:
Brand new unit, freshly initialized. After successfully installing Docker/Portainer and migrating several containers over (working fine), I made a simple network change — changed the static IP address via Control Panel → Network — and rebooted. The unit failed to boot afterward.
Boot failure details:
HDMI console shows repeated mdadm: error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directory
Followed by No root device specified. Boot arguments must include a root= parameter.
Drops into BusyBox v1.30.1 (Ubuntu 1:1.30.1-7ubuntu3.1) rescue shell
In this rescue shell, most tools (mdadm, lsblk, fdisk) are missing or broken with the same libdl.so.2 error
Steps taken so far:
Performed the documented RESET button procedure (hold reset, tap power while holding, wait for 3 beeps, release) — unit then booted to TNAS initialization page
With SSD removed, initialization page shows "no disks detected" (expected, since SSD wasn't installed)
Hot-plugged SSD back in while TOS initialization page was active — initialization still does not detect/list the SSD as available storage
From the boot menu, used the "c" command-line option which appears to be a GRUB prompt
In GRUB, ran ls — shows (hd0), (hd0,gpt1) [internal boot flash, ~240MB], and (hd1) with (hd1,gpt1) through (hd1,gpt4) — presumably the NVMe SSD
ls (hd1,gpt1)/ shows boot and EFI folders (readable)
ls (hd1,gpt2)/, ls (hd1,gpt3)/, ls (hd1,gpt4)/ all return "unknown filesystem" — GRUB cannot read any of these partitions
Current state:
SSD is physically installed
GRUB can see the NVMe device and its 4 partitions, but only the boot/EFI partition (gpt1) is readable
TOS initialization wizard does not detect the SSD as available storage
Console/BusyBox rescue environment cannot run basic diagnostic tools due to library errors
Question:
Is this recoverable, or does this indicate a failed/corrupted NVMe SSD or a deeper TOS firmware issue? Given this happened on a brand new unit after a simple, routine network IP change (no disk/RAID operations were performed beforehand), I'm concerned this may be a hardware or firmware defect — just need to understand if this unit is faulty and needs RMA, or if there's a recovery path I'm missing.
*** Update
Mounted the SSD in Proxmox to check disk
had to use both mdadm and then LVM to see folder/file structure
Able to see all folders so SSD is good.
btrfs check --readonly /dev/vg0/lv0
Opening filesystem to check...
Checking filesystem on /dev/vg0/lv0
UUID: 60e683e0-34fda5-451c-a8c4-95ffa186e5ad
[1/8] checking log skipped (none written)
[2/8] checking root items
[3/8] checking extents
[4/8] checking free space tree
[5/8] checking fs roots
[6/8] checking only csums items (without verifying data)
[7/8] checking root refs
[8/8] checking quota groups skipped (not enabled on this FS)
found 23573684224 bytes used, no error found
total csum bytes: 22849592
total tree bytes: 175702016
total fs tree bytes: 140509184
total extent tree bytes: 5111808
btree space waste bytes: 28575686
file data blocks allocated: 33843269632
referenced 23548944384