Sửa lỗi 'The Semaphore Timeout Period Has Expired' trên Windows Network Share

intermediate🪟 Windows2026-04-22| Windows 10, Windows 11, Windows Server 2016/2019/2022 — SMB network share, ổ đĩa được ánh xạ, đường dẫn UNC

Error Message

System error 121 has occurred. The semaphore timeout period has expired. (0x80070079)
#windows#mạng#smb#chia-sẻ-tệp

Lỗi Gặp Phải

Bạn cố truy cập ổ đĩa mạng, ánh xạ ổ đĩa, hoặc sao chép tệp qua mạng — và Windows chặn bạn lại:

System error 121 has occurred.
The semaphore timeout period has expired. (0x80070079)

Đôi khi lỗi hiện dưới dạng hộp thoại "Network path not found" chung chung. Trong PowerShell bạn sẽ thấy mã hex 0x80070079. Dù hiển thị thế nào, nguyên nhân gốc rễ đều giống nhau: Windows gửi yêu cầu SMB, chờ khoảng 45 giây, rồi bỏ cuộc.

Chuyện Gì Đang Xảy Ra

Lỗi 121 xảy ra khi Windows chạm đến giới hạn thời gian cứng ở tầng mạng. Hệ điều hành gửi yêu cầu đến máy chủ từ xa, máy chủ không phản hồi kịp thời, và Windows tuyên bố kết nối đã chết. Có bốn nguyên nhân gây ra điều này hầu hết mọi lúc: driver NIC bất ổn, cấu hình SMB packet signing không khớp, máy chủ tệp bị quá tải, hoặc tường lửa âm thầm chặn gói tin giữa chừng. Điều khó chịu là nhìn từ bên ngoài chúng trông giống hệt nhau.

Các Bước Khắc Phục

Bước 1 — Kiểm Tra Kết Nối Cơ Bản Trước

Chưa cần chỉnh sửa bất kỳ cài đặt nào. Trước tiên hãy xác nhận máy chủ có thể truy cập được và cổng 445 thực sự đang mở:

# Ping với số lần lặp nhiều để phát hiện mất gói tin gián đoạn
ping -n 20 192.168.1.100

# Kiểm tra cổng SMB có mở không
Test-NetConnection -ComputerName 192.168.1.100 -Port 445

Nếu TcpTestSucceeded trả về False, bạn đang gặp vấn đề ở tầng mạng — chuyển thẳng sang Bước 4. Nếu ping báo mất gói tin (dù chỉ 1–2 trong 20 lần), thì cáp hoặc Wi-Fi mới là thủ phạm, không phải SMB.

Bước 2 — Tắt SMB Packet Signing (Khắc Phục Lỗi Không Khớp)

Cấu hình signing không khớp giữa client và server là một trong những nguyên nhân khó phát hiện hơn. Khi server yêu cầu signing nhưng client không thương lượng đúng cách, kết nối sẽ hết thời gian chờ thay vì báo lỗi xác thực rõ ràng. Kiểm tra trạng thái client hiện tại:

Get-SmbClientConfiguration | Select RequireSecuritySignature, EnableSecuritySignature

Tạm thời tắt required signing trên client để cô lập vấn đề:

# Chạy PowerShell với quyền Administrator
Set-SmbClientConfiguration -RequireSecuritySignature $false -Force

Nếu điều đó ngăn được lỗi, hãy đồng bộ chính sách signing trên cả hai máy. Đừng để signing bị tắt mãi — đây là biện pháp bảo mật quan trọng trên mạng nội bộ.

Bước 3 — Tắt Large Send Offload (LSO)

LSO cho phép NIC xử lý phân đoạn TCP thay vì CPU. Nghe hay về lý thuyết. Nhưng trong thực tế, một số driver Intel và Realtek — đặc biệt các phiên bản phát hành trong giai đoạn 2020–2023 — âm thầm làm rơi các gói SMB lớn khi LSO đang hoạt động, và triệu chứng duy nhất là timeout ngẫu nhiên.

Mở Device Manager (devmgmt.msc), mở rộng Network Adapters, nhấp chuột phải vào adapter → Properties → tab Advanced. Tắt các mục sau nếu chúng tồn tại:

  • Large Send Offload v2 (IPv4)
  • Large Send Offload v2 (IPv6)
  • TCP Checksum Offload (IPv4)

Muốn dùng PowerShell:

# Liệt kê tên adapter
Get-NetAdapter

# Tắt LSO (thay "Ethernet" bằng tên adapter của bạn)
Disable-NetAdapterLso -Name "Ethernet"

# Tắt TCP checksum offload
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "TCP Checksum Offload (IPv4)" -DisplayValue "Disabled"

Khởi động lại adapter để áp dụng:

Restart-NetAdapter -Name "Ethernet"

Cách khắc phục này giải quyết lỗi 121 trong khoảng một nửa số trường hợp liên quan đến máy vật lý trên mạng LAN.

Bước 4 — Kiểm Tra Tường Lửa Windows và Cổng SMB

Chạy các lệnh này ở phía máy chủ, không phải client:

# Bật các quy tắc File and Printer Sharing
netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=Yes

# Xác nhận cổng 445 đang thực sự lắng nghe
netstat -an | findstr ":445"

Nếu bạn đi qua switch hoặc router được quản lý, hãy kiểm tra xem cổng 445 (SMB) và 139 (NetBIOS) có đang bị giới hạn tốc độ hoặc bị chặn âm thầm không. Một số router dành cho người dùng phổ thông mặc định hạn chế lưu lượng SMB trong cài đặt "application control".

Bước 5 — Xóa Cache DNS và Đặt Lại Network Stack

Cache DNS cũ hoặc ngăn xếp TCP/IP bị hỏng có thể đẩy thời gian thiết lập kết nối vượt quá ngưỡng timeout. Chạy chuỗi lệnh sau:

# Xóa cache DNS
ipconfig /flushdns

# Đặt lại ngăn xếp TCP/IP
netsh int ip reset
netsh winsock reset

# Giải phóng và làm mới thuê DHCP
ipconfig /release
ipconfig /renew

Khởi động lại máy sau đó. Lệnh netsh int ip reset ghi lại các khóa registry TCP/IP — cần khởi động lại để các thay đổi có hiệu lực.

Bước 6 — Cập Nhật hoặc Quay Lại Driver NIC Cũ

Vẫn còn lỗi? Driver bây giờ là nghi phạm chính. Kiểm tra phiên bản đang chạy:

Get-NetAdapter | Select Name, DriverVersion, DriverDate

Tải driver mới nhất trực tiếp từ trang của nhà sản xuất — Intel, Realtek, hoặc Broadcom — không phải từ Windows Update. Windows Update thường cung cấp driver chậm hơn phiên bản hiện tại của nhà cung cấp từ 6–12 tháng. Nếu lỗi bắt đầu xuất hiện ngay sau khi cập nhật driver, hãy quay lại driver cũ: Device Manager → nhấp chuột phải vào adapter → Properties → tab Driver → Roll Back Driver.

Xác Nhận Đã Khắc Phục

Ánh xạ ổ đĩa và thử với tải thực tế — chỉ liệt kê thư mục thôi chưa đủ để xác nhận sự ổn định:

# Ánh xạ ổ đĩa và liệt kê nội dung
net use Z: \\192.168.1.100\sharename /persistent:yes
dir Z:\

# Sao chép tệp thử nghiệm và xác minh tính toàn vẹn
copy Z:\testfile.bin C:\Temp\testfile.bin
certutil -hashfile C:\Temp\testfile.bin SHA256

Lệnh dir chạy không timeout và giá trị SHA-256 khớp nhau xác nhận bản sửa lỗi đã thành công. Để so sánh checksum nhanh, Hash Generator của ToolCraft chạy hoàn toàn trên trình duyệt — dán cả hai hash vào và nó sẽ cho bạn biết ngay source và destination có khớp không.

Mẹo Thêm

  • Người dùng Wi-Fi: Chuyển sang kết nối có dây cho các tác vụ truyền SMB kéo dài. Độ trễ Wi-Fi tăng đột biến — đặc biệt trên kênh 2.4 GHz đông đúc — thường xuyên vượt qua ngưỡng lỗi 121 khi tải nặng. Một sợi cáp Cat6 giá rẻ loại bỏ hoàn toàn biến số này.
  • VPN + SMB: MTU mismatch là thủ phạm kinh điển ở đây. Đường hầm VPN phân mảnh các gói SMB, máy chủ không bao giờ nhận được frame đầy đủ, dẫn đến timeout. Đặt MTU trên adapter VPN của bạn thành 1400: netsh interface ipv4 set subinterface "Local Area Connection" mtu=1400 store=persistent
  • Sai subnet: Nếu ổ đĩa chia sẻ nằm trên subnet khác, hãy dùng Subnet Calculator của ToolCraft để xác nhận định tuyến chính xác và client đang kết nối đúng máy chủ.
  • Event logs: Mở eventvwr.msc → Windows Logs → System và lọc theo source Srv hoặc MRxSmb vào thời điểm xảy ra lỗi. Các mục này thường nói rõ timeout bắt nguồn từ phía client hay server.
  • Máy chủ cũ (trước 2012): Chúng có thể chỉ hỗ trợ SMB1. Kiểm tra bằng Get-SmbServerConfiguration | Select EnableSMB1Protocol. Bật SMB1 là rủi ro bảo mật thực sự — có thể bị khai thác qua EternalBlue — vì vậy hãy coi đây là phương án cuối cùng và lên kế hoạch nâng cấp.

Related Error Notes