লিনাক্স এটিএ ত্রুটি: একটি ডিভাইসের নাম অনুবাদ করা হচ্ছে?


36

যখন একটি লিনাক্স বাক্স এটিএর ত্রুটি পায়, তখন এটি ডিস্কটিকে "আটা% ডি ..00" হিসাবে চিহ্নিত করে একটি বার্তা দিয়ে সিসলোগ করে। আমি কীভাবে এটি কোনও ডিভাইসের নামের সাথে (উদাহরণস্বরূপ /dev/sdb) অনুবাদ করব? আমার মনে হয় এটি তুচ্ছ হওয়া উচিত, তবে আমি তা বুঝতে পারি না।


1
ইউনিক্স-এসই-তে একটি অনুরূপ প্রশ্নের আমার উত্তরটিও দেখুন
maxschlepzig

উত্তর:


28

পিটার আমাকে একটি উন্নত স্ক্রিপ্ট (লেট) লিখতে অনুপ্রাণিত করেছিল, যা এমনকি ইউএসবি স্টিকগুলি সনাক্ত করতে পারে ("ata0.00" এর মতো মূর্খ জিনিসগুলির পরিবর্তে)। পিটারের স্ক্রিপ্টের বিপরীতে, একই নিয়ামক শর্তে আপনার যদি একাধিক ডিভাইস থাকে তবে আপনি উপ নম্বরও পাবেন (৪.০১ হিসাবে)। চ্যানেল। আউটপুটটি আপনি যেমন পাবেন তেমনই হবে syslog। পরীক্ষিত। আমার ডেবিয়ান বাক্সে খুব ভাল কাজ করা, যদিও সর্বদা উন্নতি হয় (যেমন: খুব আনাড়ি পুনঃসংশ্লিষ্ট)। তবে এটি ধরে! আমার রেইগেক্সেপগুলিতে আপনি সন্ধান করতে পেলেন আপাতদৃষ্টিতে খুব বেশি সংখ্যক অক্ষর কেবল সামঞ্জস্যতার কারণে! আপনি sedসবার সাথে জিএনইউ ধরে নিতে পারবেন না , এজন্যই আমি উদ্দেশ্য নিয়ে বর্ধিত রেগেক্সপ্স ছাড়াই করেছি।

আপডেটগুলি
(1) আর lsআউটপুটকে বিশ্লেষণ করবে না । (ওফ!) যেহেতু আপনারা সবাই জানেন: এলএস পার্স করবেন না।
(২) এখন কেবল পঠনযোগ্য পরিবেশেও কাজ করে।
(3) এই চিট-চ্যাট থেকে একটি প্রস্তাব দ্বারা অনুপ্রাণিত এখানে আমি আবার sed বিবৃতি পথ কম জটিল হতে পরিচালিত হয়েছে।

#!/bin/bash
# note: inspired by Peter
#
# *UPDATE 1* now we're no longer parsing ls output
# *UPDATE 2* now we're using an array instead of the <<< operator, which on its
# part insists on a writable /tmp directory: 
# restricted environments with read-only access often won't allow you that

# save original IFS
OLDIFS="$IFS"

for i in /sys/block/sd*; do 
 readlink $i |
 sed 's^\.\./devices^/sys/devices^ ;
      s^/host[0-9]\{1,2\}/target^ ^ ;
      s^/[0-9]\{1,2\}\(:[0-9]\)\{3\}/block/^ ^' \
 \
  |
  while IFS=' ' read Path HostFull ID
  do

     # OLD line: left in for reasons of readability 
     # IFS=: read HostMain HostMid HostSub <<< "$HostFull"

     # NEW lines: will now also work without a hitch on r/o environments
     IFS=: h=($HostFull)
     HostMain=${h[0]}; HostMid=${h[1]}; HostSub=${h[2]}

     if echo $Path | grep -q '/usb[0-9]*/'; then
       echo "(Device $ID is not an ATA device, but a USB device [e. g. a pen drive])"
     else
       echo $ID: ata$(< "$Path/host$HostMain/scsi_host/host$HostMain/unique_id").$HostMid$HostSub
     fi

  done

done

# restore original IFS
IFS="$OLDIFS"

কেবলমাত্র একটি অনুস্মারক যে স্ক্রিপ্ট সমস্যাযুক্ত ডিভাইসগুলি না দেখাতে পারে। আমি সফটরেসেট ব্যর্থ (1 ম এফআইএস ব্যর্থ) (মাইনর ইস্যু) তালিকাভুক্ত ডিভিসগুলির সাথে ata6 ত্রুটি করছিলাম এবং এটি উপস্থিত ছিল না। যদি আপনি জানেন যে পিসিতে আপনার 4 টি ডিস্ক রয়েছে এবং কেবল 3 টি প্রদর্শিত কারণ এটি হতে পারে।
কেন্ড্রিক

1
@ কেনড্রিক ভাল, আমি এই ক্ষেত্রে স্ক্রিপ্টটিকে দোষ দেব না। কার্নেল ড্রাইভারগুলি কীভাবে কাজ করে তা আপনি যদি জানেন তবে এটি আপনার কাছে আরও স্পষ্ট হবে: কার্নেল সাবসিস্টেম ড্রাইভারগুলি "সমস্যাগুলি" যথেষ্ট তীব্র হয়ে যাওয়ার পরে ছেড়ে চলে যায় । এটিতে লেখা আছে যে কোনও ইউডিএমএ-সক্ষম ড্রাইভের জন্য, এটি একাধিক ড্রাইভের পুনরায় সেট করতে পারে এবং (শেষ পর্যন্ত) পিআইও মোডে একটি ড্রাইভ অপারেশন চেষ্টা করতে পারে। যাইহোক, যদি এই হিসাবে ভাল খুব অস্থির প্রমাণ (বিভিন্ন সময়জ্ঞান ত্রুটি ইত্যাদি), চালক বলবে ড্রাইভে "ভাগো"। পুরানো প্যাটা ড্রাইভের জন্য, এর অর্থ হ'ল ড্রাইভটি আবার দেখাতে একটি শীতল পুনরায় বুট করা বাধ্যতামূলক হবে।
সিনট্যাক্সরর

স্ক্রিপ্টে দোষ বোঝানোর আমার উদ্দেশ্য নয়। এটি কেন অনুপস্থিত হতে পারে তার ঠিক একটি অনুস্মারক :) মূর্খ ফ্লেকি সিগেট কন্ট্রোলার বোর্ড কী ঘটছে তা নির্ধারণের জন্য এটি একটি ব্যথা করে তোলে।
কেন্ড্রিক

@ কেন্ড্রিক আপনি আমাকে মানুষ বলছেন। :) ঠিক আছে, আমার বইয়ে, সিগেটের কখনই স্যামসাং কেনা উচিত হয়নি । পরের ড্রাইভগুলি (যখন স্যামসাং এখনও ভর স্টোরেজ ব্যবসায় ছিল) পছন্দ করত, পাশাপাশি তাদের দুর্দান্ত সহায়তা দল। এখন সিগেট এই সমস্ত ... এবং ... উহ-ওহ নিয়েছে।
সিন্টাক্সেরর

11

দেখুন /proc/scsi/scsi, যা দেখতে কিছু হবে:

$ cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: ST3250823AS      Rev: 3.03
  Type:   Direct-Access                    ANSI SCSI revision: 05
Host: scsi1 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: ST3750528AS      Rev: CC44
  Type:   Direct-Access                    ANSI SCSI revision: 05
Host: scsi2 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: ST3750330AS      Rev: SD1A
  Type:   Direct-Access                    ANSI SCSI revision: 05
Host: scsi10 Channel: 00 Id: 00 Lun: 00
  Vendor: WDC WD20 Model: EARS-00MVWB0     Rev:     
  Type:   Direct-Access                    ANSI SCSI revision: 02

scsi0 id 0 sda এবং ata1.00, scsi1 id 0 হয় sdb এবং ata2.00 ইত্যাদি etc.

/var/log/dmesgএটিকেও দেখুন , যা আতা ড্রাইভার লোডিংয়ের তথ্য দেখায় এবং জিনিসগুলি আরও পরিষ্কার করে দেবে। "লিবাটা" শুরু করার জন্য লাইনটি দেখুন।


8
আপনার 'এলএসসিসিআই' ব্যবহারের প্রয়োজনও হতে পারে - যা কিছুটা আরও বেশি মানুষের বান্ধব আউটপুট দেয় - যেমন [0: 0: 0: 0] সিডি / ডিভিডি টিএসএসটিকার্প সিডিডিভিডিডাব্লুএইচ-এস202 এইচ এসবি 100 / দেব / এসআর0 [2: 0: 0: 0 ] ডিস্ক এটিএ ST3500630AS 3.AA / dev / sda [3: 0: 0: 0] ডিস্ক এটিএ ডাব্লুডিসি ডাব্লুডি 5000এএক্সএস -0 01.0 / দেব / এসডিবি (এই সার্ভারে, একটি 3.2.x কার্নেল চালানো, কোনও / প্রো / / এসসিআই নেই *) (দুঃখিত, আমি উপরের কোনও বিন্যাস কীভাবে তা পঠনযোগ্য করে তুলতে পারি তা অনুমান করতে পারি না)
ডেভিড গুডউইন

1
এটি কোনও মন্তব্য করার চেয়ে উত্তর হওয়া উচিত। একটি মেশিন থেকে দরকারী, দ্রুত এবং সহজেই পড়তে সহজ এবং সমস্যাগুলির সাথে অন্যটিতে টাইপ করুন।
বয়স্ক গীক

10

আমি দৈর্ঘ্যের ব্যাখ্যার পরিবর্তে স্ক্রিপ্টলেটগুলি পছন্দ করি। এটি আমার উবুন্টু বাক্সে কাজ করে। আপনার পছন্দ মত মন্তব্য যুক্ত করুন:

# on Ubuntu get ata ID for block devices sd*
ls -l /sys/block/sd* \
| sed -e 's^.*-> \.\.^/sys^' \
       -e 's^/host^ ^'        \
       -e 's^/target.*/^ ^'   \
| while read Path HostNum ID
  do
     echo ${ID}: $(cat $Path/host$HostNum/scsi_host/host$HostNum/unique_id)
  done

আপনার স্ক্রিপ্ট উত্তরের চেয়ে কিছুটা ভীতিজনক, বেশিরভাগ কারণেই আমি পুরো জিনিসটি দেখতে পারি।
isaaclw

1
কিছুটা ls -l /sys/block/sd* | sed -e 's@.*-> \.\..*/ata@/ata@' -e 's@/host@ @' -e 's@/target.*/@ @'
সরলকরণ

9

এটি আসলে বেশ জটিল। যদিও এটি ধারণা করা নিরাপদ যে "স্ক্সি আইডি" "স্যাটা আইডি বিয়োগ একটি", তবে আমি সত্যিই নিরাপদ থাকতে এবং unique_idআমি যেটি ধরে নিই তা পরীক্ষা করতে পছন্দ করি ( এই পোস্টের উপর ভিত্তি করে ) হ'ল সাটা সনাক্তকারী।

আমার ত্রুটিটি ছিল:

[6407990.328987] ata4.00: exception Emask 0x10 SAct 0x1 SErr 0x280100 action 0x6 frozen
[6407990.336824] ata4.00: irq_stat 0x08000000, interface fatal error
[6407990.343012] ata4: SError: { UnrecovData 10B8B BadCRC }
[6407990.348395] ata4.00: failed command: READ FPDMA QUEUED
[6407990.353819] ata4.00: cmd 60/20:00:28:c2:39/00:00:0c:00:00/40 tag 0 ncq 16384 in
[6407990.353820]          res 40/00:00:28:c2:39/00:00:0c:00:00/40 Emask 0x10 (ATA bus error)
[6407990.369618] ata4.00: status: { DRDY }
[6407990.373504] ata4: hard resetting link
[6407995.905574] ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[6407995.976946] ata4.00: configured for UDMA/133
[6407995.976961] ata4: EH complete

সুতরাং আমার পদ্ধতিটি কী ata4তা জানার জন্য :

  1. এসএটিএ নিয়ন্ত্রকের পিসিআই আইডি সন্ধান করুন

    # lspci | grep -i sata
    00:1f.2 SATA controller: Intel Corporation 631xESB/632xESB SATA AHCI Controller (rev 09)
    
  2. মিলছে অনন্য আইডি:

    # grep 4 /sys/devices/pci0000:00/0000:00:1f.2/*/*/*/unique_id
    /sys/devices/pci0000:00/0000:00:1f.2/host3/scsi_host/host3/unique_id:4
    
  3. সুতরাং এটি চালু scsi_host/host3, যা আমরা অনুবাদ করতে পারি 3:x:x:x, যা dmesgআরও অনুসন্ধানের জন্য আমরা গ্রেপ করতে পারি :

    # dmesg | grep '3:.:.:.'
    [    2.140616] scsi 3:0:0:0: Direct-Access     ATA      ST3250310NS      SN06 PQ: 0 ANSI: 5
    [    2.152477] sd 3:0:0:0: [sdd] 488397168 512-byte logical blocks: (250 GB/232 GiB)
    [    2.152551] sd 3:0:0:0: [sdd] Write Protect is off
    [    2.152554] sd 3:0:0:0: [sdd] Mode Sense: 00 3a 00 00
    [    2.152576] sd 3:0:0:0: [sdd] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
    [    2.157004] sd 3:0:0:0: [sdd] Attached SCSI disk
    [    2.186897] sd 3:0:0:0: Attached scsi generic sg3 type 0
    
  4. এখানে আমাদের ডিভাইসটি রয়েছে, আমরা আমাদের ডিআইডি অ্যারে সম্পূর্ণরূপে ব্যর্থ হওয়ার আগে সেই ডিভাইসটি বাইরে নিতে (orচ্ছিকভাবে) সিরিয়াল নম্বরটি খুঁজে পেতে পারি (বা ক্যাবলিং বা যা কিছু যাচাই করে দেখি):

    # hdparm -i /dev/sdd | grep Serial
     Model=ST3250310NS, FwRev=SN06, SerialNo=9SF19GYA
    

এবং তুমি করে ফেলেছ!


7

এটা চেষ্টা কর:

# find -L /sys/bus/pci/devices/*/ata*/host*/target* -maxdepth 3 -name "sd*" 2>/dev/null | egrep block |egrep --colour '(ata[0-9]*)|(sd.*)'

আমি কখনই ডেমেসগ বুঝতে পারি নি - কিছু সারিগুলি "এসসিসি" বা এসডিসি সম্পর্কে "আতা 4" সম্পর্কে রয়েছে, তবে "আতা 4।। এসডিসি" দেখায় না এমন কমান্ডটি / সিস / বাস / পাথ খুঁজে পায়, যেখানে উভয় আতা 4 এবং এসডিসি রয়েছে নির্দিষ্ট করা হয়।


5

আমার একই সমস্যা ছিল এবং dmesg পরীক্ষা করে ড্রাইভগুলি সনাক্ত করতে সক্ষম হয়েছি। সেখানে আপনি নিয়ামক শনাক্তকারী (সঠিক শব্দ ??) এবং ডিস্কের মডেল দেখতে পাবেন। তারপরে মডেল নম্বরটি / dev / sda (বা যাই হোক না কেন) এর সাথে মেলে ls -l / dev / ডিস্ক / বাই আইডি ব্যবহার করুন। বিকল্পভাবে, আমি এই তথ্যের জন্য ডিস্ক ইউটিলিটি পছন্দ করি। দ্রষ্টব্য: আপনার ডিস্কে আলাদা আলাদা মডেল সংখ্যা থাকলে এটি কেবল কাজ করে, অন্যথায় আপনি দুটিয়ের মধ্যে পার্থক্য করতে পারবেন না।

>dmesg |grep ata
...
[   19.178040] ata2.00: ATA-8: WDC WD2500BEVT-00A23T0, 01.01A01, max UDMA/133
[   19.178043] ata2.00: 488397168 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
[   19.179376] ata2.00: configured for UDMA/133
[   19.264152] ata3.00: ATA-8: WDC WD3200BEVT-00ZCT0, 11.01A11, max UDMA/133
[   19.264154] ata3.00: 625142448 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
[   19.266767] ata3.00: configured for UDMA/133
...

>ls -l /dev/disk/by-id
lrwxrwxrwx 1 root root  9 Feb 18 12:17 ata-WDC_WD2500BEVT-00A23T0_WD-WXE1A7131446 -> ../../sda
lrwxrwxrwx 1 root root 10 Feb 18 11:48 ata-WDC_WD2500BEVT-00A23T0_WD-WXE1A7131446-part1 -> ../../sda1
lrwxrwxrwx 1 root root  9 Feb 18 12:17 ata-WDC_WD3200BEVT-00ZCT0_WD-WXHZ08045183 -> ../../sdb
lrwxrwxrwx 1 root root 10 Feb 18 11:48 ata-WDC_WD3200BEVT-00ZCT0_WD-WXHZ08045183-part1 -> ../../sdb1

2

সবচেয়ে সহজ উপায় হ'ল বুট থেকে কার্নেল লগটি পর্যালোচনা করা, যেহেতু ড্রাইভ ডিভাইসের নামগুলি বিভিন্ন উত্স (যেমন ইউএসবি ড্রাইভ) থেকে মিশ্রিত হয়, বা ডিভাইসের ধরণের উপর ভিত্তি করে নির্ধারিত হয় (এর পরিবর্তে সিড্রোম স্কেডিএক্স হতে পারে, এবং সবকিছুতে শ্যাডএক্সএক্স থাকে )। অনুশীলনে, আপনি যদি বিভিন্ন ধরণের বাস মিশ্রণ না করেন (উদাহরণস্বরূপ Sata + USB) সর্বাধিক সংখ্যাযুক্ত আটা ডিভাইস সিডিআম ডিভাইস না করে এসডিএ হতে চলেছে।

আপনার সিস্টেমের উপর নির্ভর করে এটি সিস্টেমে ঘুরে বেড়ানো হতে পারে। আমার সিস্টেমে এটি ls -l /sys/dev/blockপ্রকাশ করে যে 8:0(মেজর: / ডিভ এন্ট্রি থেকে অপ্রাপ্ত) /sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda একইভাবে নির্দেশ করে, একই পিসিআই সাব-ডিভাইসে কোন পয়েন্টগুলি নির্দেশ ls -l /sys/class/ata_portকরে তা প্রকাশ করে।ata1/sys/devices/pci0000:00/0000:00:1f.2/ata1/ata_port/ata1

যেহেতু আমি সটা ব্যবহার করি এবং প্রতিটি বন্দরে কেবলমাত্র একটি ড্রাইভ থাকে আমি সেই আটা ১.০০ = এসডিএ ছাড় করতে পারি। আমার সমস্ত ড্রাইভ .00, আমি সন্দেহ করি যে আমি যদি একটি পোর্ট গুণক ব্যবহার করি তবে আমার ড্রাইভগুলি দেওয়া হবে .01, .02, .03 ইত্যাদি people's অন্যান্য লোকের লগের দিকে তাকানো প্যাটা নিয়ন্ত্রণকারীরা মাস্টার এবং ক্রীতদাসের জন্য .00 এবং .01 ব্যবহার করেন , এবং তাদের লগগুলির উপর ভিত্তি করে যদি আপনার ataX.01 থাকে, /sys/dev/block/তালিকা থেকে হোস্ট: চ্যানেল: আইডি: LUN ফোল্ডারে ".01" ম্যাপ করা উচিত । যদি আপনার একই পিসিআই ডিভাইস ফোল্ডারে একাধিক ataX/এবং hostY/ফোল্ডার থাকে তবে আমার সন্দেহ হয় যে সর্বনিম্ন সংখ্যাযুক্ত অ্যাটাক্স ফোল্ডারটি সর্বনিম্ন সংখ্যাযুক্ত হোস্টওয়াই ফোল্ডারের সাথে মেলে।


2

ইন /sys/class/ata_port/ata${n}/device/, আপনি একটি host${x}ফোল্ডার দেখতে পারেন । যেমন, আমার মেশিনে:

gibby ~ # ls /sys/class/ata_port/ata1/device/
ata_port  host0  link1  power  uevent
gibby ~ # ls /sys/class/ata_port/ata2/device/
ata_port  host1  link2  power  uevent
gibby ~ # lsscsi
[0:0:0:0]    disk    ATA      WDC WD1002FAEX-0 1D05  /dev/sda
[1:0:0:0]    disk    ATA      WDC WD2001FFSX-6 0A81  /dev/sdb
[2:0:0:0]    disk    ATA      WDC WD1002FAEX-0 1D05  /dev/sdc
[3:0:0:0]    disk    ATA      WDC WD2001FFSX-6 0A81  /dev/sdd
[5:0:0:0]    disk    ATA      SAMSUNG MZ7TD256 2L5Q  /dev/sde

${x}মধ্যে host${x}যে প্রথম সংখ্যা বোঝায় [0:0:0:0]। সুতরাং আমার ata1জন্য host0যা এসসিএসআই আকারে উপস্থাপিত হতে পারে তা বোঝায় 0:*:

gibby ~ # lsscsi 0:\*
[0:0:0:0]    disk    ATA      WDC WD1002FAEX-0 1D05  /dev/sda

0

নীচের স্ক্রিপ্টটি আপনাকে এর মতো একটি দুর্দান্ত সংক্ষিপ্তসার দেবে:

sda [  180.0 GB] INTEL SSDSC2BW180A4, BTDA4052066D1802GN pci0000:00/0000:00:11.0/ata1/host0/target0:0:0/0:0:0:0/block/sda
sdb [ 1000.2 GB] WDC WD1000DHTZ-04N21V1, WD-WXM1E83CNTX5 pci0000:00/0000:00:11.0/ata3/host2/target2:0:0/2:0:0:0/block/sdc
sdc [ ------ GB] -- pci0000:00/0000:00:12.2/usb1/1-5/1-5:1.0/host6/target6:0:0/6:0:0:0/block/sdf

সুতরাং প্রতি ড্রাইভে এক লাইনে আপনার এসডিএক্স ডিভাইসের নাম, আকার , মডেল , এস / এন এবং পিসি এবং আটা সংখ্যা রয়েছে। কার্ডবিহীন কোনও ইউএসবি এসডি কার্ড রিডারকে উপরে এসএসসি কোরস্প্যান্ডগুলি। অতএব ---- আসল তথ্যের জায়গায়।

#!/bin/bash
BLKDEVS=`ls -l /sys/block/sd*|sed -e 's/^.* -> //' -e 's/^...devices.//'`
echo $BLKDEVS|tr \  \\n |sort| \
while read DISK ; do
    SD=`echo $DISK|sed -e 's/^.*\///'`
    INFO=`hdparm -i /dev/$SD 2>/dev/null|grep Model=|sed -e 's/Model=//' -e 's/FwRev=[^ ]*//' -e 's/SerialNo=//'`
    ! [[ $INFO ]] && INFO='--'
    SIZE=`fdisk -l /dev/$SD 2>/dev/null|grep '^Disk .* bytes'|sed -e 's/^[^,]*, \([0-9]*\) bytes$/\1/'`
    if [[ $SIZE ]] ; then
        SIZE=`echo $SIZE|awk '{printf "[%7.1f GB]" , $1/1000/1000/1000}'|tr \  _`
    else
        SIZE='[ ------ GB]'
    fi
    echo $SD $SIZE $INFO $DISK
done

(কেবল উবুন্টু 12.04 / 14.04 এবং CentOS 6 এ পরীক্ষিত)


এটি কীভাবে আপনাকে দেখানোর সমীকরণ করবে, উদাহরণস্বরূপ, এটিএ 4.01 কী?
এডওয়ার্ড_178118

উদাহরণস্বরূপ আউটপুটে আপনি sda দেখতে পাবেন: ... ata1 ... এবং sdb: ... ata3 .... এবং সত্যই এসডিএ ata1 এ ছিল এবং এসডিবি ata2 এ। যেহেতু আমি এটি লিখেছি এবং এটি 4 টি ভিন্ন হোস্টে পরীক্ষা করেছি আমি এইচডাব্লু পেয়েছি যেখানে উপরের স্ক্রিপ্টটিতে আটার উল্লেখ নেই। আমার উল্লেখ করা উচিত যে ডেমসজি | গ্রেপ "আতা [0-9]" কখনই আমাকে ব্যর্থ করেনি।
nddou

0

এই তথ্য অনুসন্ধানের জন্য একটি স্ক্রিপ্ট এবং আরও অনেক কিছু https://www.av8n.com/computer/disk-hw-host-bus-id থেকে পাওয়া যাবে

এটি মিঃ সিন্ট্যাক্সাররারের সরবরাহিত স্ক্রিপ্টের মতো, তবে ফ্যানসিয়ার। - এটি ইউএসবি ড্রাইভের পাশাপাশি এটিএ ড্রাইভের জন্যও কাজ করে। - এটি ড্রাইভ মেক এবং মডেল এবং ক্রমিক নম্বর সরবরাহ করে - এবং অবশ্যই সংযুক্তি বিন্দু। - এটি আরও সোজা, পাঠযোগ্য এবং রক্ষণাবেক্ষণযোগ্য maintain

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.