অবৈধ যুক্তি সহ mmcblk0p1 মাউন্ট ব্যর্থ


9

আমি যখন এসডি কার্ড থেকে লিনাক্স চালাচ্ছি এবং এসডি কার্ড-কোনও সমস্যা মাউন্ট করার চেষ্টা করব, ঠিকঠাক কাজ করে। তবে যখন আমি ফ্ল্যাশ মেমরি থেকে লিনাক্স চালাচ্ছি আমি আমার এসডি কার্ডটি মাউন্ট করতে পারছি না:

# mount /dev/mmcblk0p1 /mnt/ 
mount: mounting /dev/mmcblk0p1 on /mnt/ failed: Invalid argument

এই ত্রুটির মূল কারণ কী হতে পারে?

অতিরিক্ত তথ্য

root@Xilinx-ZC702-14_7:/# mount -t /dev/mmcblk0p1 /mnt
mount: can't find /mnt in /etc/fstab 

root@Xilinx-ZC702-14_7:/var/volatile/log# ls
wtmp

root@Xilinx-ZC702-14_7:/var/volatile/log# dmesg
dmesg: klogctl: Function not implemented

1
সম্পূর্ণ কমান্ডটি চেষ্টা করুন ( -t ...) যাতে fstabপ্রবেশটি ব্যবহার না হয়।
হউক লেগেইজ 4'14

1
দরকারী কিছু লিখিত হয় /var/log/messages? কীভাবে dmesg | tail?
ফ্লপ

@ ফ্লুপ আমি উপরে আমার প্রশ্ন আপডেট করেছি
জিপুগুয়ে

4
mount -t /dev/mmcblk0p1 /mntসম্পূর্ণ আদেশ নয়। যদি আপনি ফাইলসাইম প্রকারটি জানেন, আপনার এটি -t আর্গুমেন্ট (উদাহরণস্বরূপ mount -t vfat /dev/mmcblk0p1 /mnt) বা সম্পূর্ণরূপে বাদ দেওয়া উচিত specify
জেমস হেডডেন

আপনি উপরের দেখতে পারেন হিসাবে বাদ দেওয়া কাজ করেনি
জিপুগুয়ে

উত্তর:


10

স্বর্ণিলকস দ্বারা মন্তব্য করা হিসাবে , mount -tফাইল সিস্টেমের ধরণটি পরে আসবে বলে আশা করে -t, সুতরাং এটি কার্যকর হবে না। অন্যথায় মনে হচ্ছে আপনার কেবল ফাইল সিস্টেমের ধরণ উল্লেখ করা দরকার। আপনি যদি ফাইল সিস্টেমের ধরণটি জানেন না, তবে এই উত্তরে খুঁজে পাওয়ার জন্য পদ্ধতিগুলির একটি তালিকা রয়েছে । যদি fileকমান্ডটি উপলভ্য থাকে তবে এটি সম্ভবত সেরা পদ্ধতি। রুট হিসাবে আপনি করবেন:

file -s /dev/mmcblk0p1

আরও মনে রাখবেন যে ফাইল-সিস্টেমের ধরণটি যদি তালিকাভুক্ত না থাকে /proc/filesystemsতবে ড্রাইভারটি কার্নেলের মধ্যে সংকলিত হয় না এবং তাই বাহ্যিক মডিউল হিসাবে অবশ্যই উপলব্ধ থাকতে হবে। একবার আপনার সঠিক ধরণ পরে, আপনি চেষ্টা করতে পারেন:

mount -t correct_type /dev/mmcblk0p1 /mnt

চূড়ান্ত চিন্তা হিসাবে, /mntডিরেক্টরিটি উপস্থিত রয়েছে তা নিশ্চিত করুন ! না দিয়ে এটি তৈরি করুন mkdir /mnt


মাউন্টস সুডো প্রয়োজন?
ফেরোয়াও

@ ফেরোওও, হ্যাঁ মাউন্টিংয়ের মূল সুবিধার দরকার।
গ্রামীণ

আমার যদি সংশোধন করা দরকার হয় তবে s এসডিতে ফাইল তৈরি করুন আমার কি সুডোর দরকার হবে?
ফেরোয়াও

@ ফেরোওও, এটি যে ফাইল সিস্টেমে আপনি মাউন্ট করার চেষ্টা করছেন তার উপর নির্ভর করে। প্রতিটি ফাইল / ডিরেক্টরিতে লিনাক্স ফাইল সিস্টেমের অনুমতি / মালিক / গোষ্ঠীর জন্য নির্ধারণ করুন যে কে পড়তে / লিখতে পারে।
গ্রামীণ

3

মূল কারণ: (আপডেট)

1) আপনার সিস্টেমটি (সঠিকভাবে?) ফ্ল্যাশ থেকে বুট করার সময় এসডি আরম্ভ করে না বা সনাক্ত করে না। /dev/mmcblk0ফ্ল্যাশ থেকে বুট করার পরে কি ডিভাইস আছে ? কি fdisk -l /dev/mmcblk0বলে?

2) / dev / mmcblk0p1 এ কোনও ফাইল সিস্টেম নেই, আপনাকে প্রথমে একটি ফাইল সিস্টেম তৈরি করতে হবে ( mkfs ...)। পরিক্ষা করfile -s /dev/mmcblk0p1

3) / dev / mmcblk0p1 এ থাকা ফাইল সিস্টেমটি দূষিত হয়ে গেছে, আপনাকে এটি পরীক্ষা / মেরামত করতে হবে, চেষ্টা fsck /dev/mmcblk0p1করতে হবে বা একটি নতুন তৈরি করতে হবে

4) আপনার কার্নেল (যখন ফ্ল্যাশ থেকে বুট করার), প্রয়োজনীয় ফাইল সিস্টেম ড্রাইভার নেই পরীক্ষা cat /proc/filesystemsএবং ls "/lib/modules/$(uname -r)/kernel/fs/"এবং দেখুন সেই তালিকাটি প্রয়োজনীয় ফাইল সিস্টেম প্রকার রয়েছে। সাধারণত, পুরানো কার্নেলগুলি ext4 সমর্থন করে না, যখন আপনার ওএসে ইতিমধ্যে একটি ext4 ফাইল সিস্টেম তৈরির সরঞ্জাম থাকতে পারে।

5) হার্ডওয়্যার ত্রুটি - এসডি কার্ড, নিয়ন্ত্রক, তারের হতে পারে ... তবে এটি এসডি কার্ড থেকে বুট করার সময় যদি এটি কাজ করে তবে সম্ভবত এটি সম্ভবত না।


মনে রাখবেন যে তালিকাভুক্ত ফাইল সিস্টেমগুলি /proc/filesystemsকেবল কার্নেলের মধ্যে সংকলিত রয়েছে। উদাহরণস্বরূপ আমার /proc/filesystemsধারণ করে না vfat, তবে vfatমডিউল হিসাবে উপলব্ধ হওয়ায় আমি এখনও একটি সিস্টেম মাউন্ট করতে পারি ।
গ্রামীণ

দেখতে দুর্দান্ত লাগছে, যদিও ওপিকে কেবল প্রকারটি নির্দিষ্ট করতে হতে পারে। util-linuxচেষ্টা মাধ্যমে ফাইলসিস্টেম শনাক্ত করতে মাউন্ট blkidতারপর প্রচেষ্টা সবকিছু /etc/filesystemsবা /proc/filesystem। আমি মনে করি এটি busyboxমাউন্ট, সুতরাং এটি সম্ভবত কম করে। হয় সম্ভবত একটি বিশেষজ্ঞ ফ্ল্যাশ ফাইল সিস্টেম মিস করবে।
গ্রামীণ

2

প্রথমে কার্নেলের সমর্থিত ফাইল সিস্টেমগুলি পরীক্ষা করুন।

[kevin@hexcore ~]
$ cat /proc/filesystems 
....
    ext3
    ext2
    ext4
....

আমি ধরে নিয়েছি যে আপনি একই এসডি কার্ডটি মাউন্ট করার চেষ্টা করছেন যা থেকে আপনি লিনাক্স চালাচ্ছেন। যদি তা হয় তবে আমি ধরে নিই, বেশ যুক্তিসঙ্গতভাবে, এটির লিনাক্সে নেটিভ ফাইল সিস্টেম সমর্থন রয়েছে। আপনি এসডি কার্ড ড্রাইভারটি লোড করেছেন তা নিশ্চিত করার জন্য, আপনি চেষ্টা করতে পারেন,

$ sudo modprobe sdhci
$ dmesg | tail -n 10
sdhci: Secure Digital Host Controller Interface driver

এখন, পার্টিশনের অ্যাক্সেস পড়ার চেষ্টা করুন:

$ sudo dd if=/dev/mmcblk of=/dev/null bs=4k count=0  # note: count = 0

বিকল্পভাবে:

$ sudo fdisk -l /dev/mmcblk

fdisk পার্টিশনের ধরণগুলিও আপনাকে জানাতে হবে।

এটি আপনাকে আশ্বাস দেয় যে এসডি কার্ড ড্রাইভারটি ব্লক ডিভাইসটি অ্যাক্সেস করতে পারে। এখন আপনি partedফাইল সিস্টেমগুলি মুদ্রণ করতে চালাতে পারেন :

$ sudo parted /dev/mmcblk
(parted) p
Number  Start   End     Size    Type     File system     Flags
 1      1049kB  8000MB  7999MB  primary  linux-swap(v1)
 2      8000MB  500GB   492GB   primary  ext4

আপনি একবার এফএস জানতে পারলে এটি দিয়ে মাউন্ট করুন

$ sudo mount -t <FS> /dev/mmcblkpX </target/dir>

আপনি কি এ ব্যাপারে নিশ্চিত? বিভক্ত স্বাক্ষর বিশ্লেষণ করতে পারে যতদূর আমি মনে করতে পারি। fdisk পার্টিশনের ধরণটি ফেলে দেয়।
কেভিন

ঠিক আছে, আপনার ডান, partedফাইল সিস্টেমের ধরণ নির্ধারণ করার চেষ্টা করে। মন্তব্য সরানো হয়েছে।
গ্রিম

-1

আমি মনে করি মনে হয় আপনি যে ধরণের পার্টিশনটি মাউন্ট করার চেষ্টা করছেন তা সমর্থিত না হলে এটি আপনি পেয়ে গেছেন।


পার্টিশনের
ধরণটি

আমি পার্টিশন টাইপ জানি না। পার্টিশনের ধরণ খুঁজতে কোন আদেশ আছে? তবে আমি দেখেছি /
প্রোক

আপনার যদি শিকড় থাকে তবে এটি অনেক সহজ হবে, তবে আমি যেমন মনে করি আপনি, আপনি অ্যান্ড্রয়েডে এটি করছেন, আপনি খুঁজছেন blkid, যদি না, এবং এটি একটি আরও প্রচলিত লিনাক্স পরিবেশ, lsblkসম্ভবত পছন্দনীয়।
মাইক্রজারভ

আমি আগামীকাল lsblk পরীক্ষা করব ut তবে কেন / প্রো / মডিউলগুলি খালি রয়েছে empty
জিপুগুয়ে

আপনি কীভাবে তা জানতে পারবেন এবং এখনও আপনার প্রম্পটে 5 টি অক্ষর টাইপ করা থেকে পুরো দিন দূরে থাকতে পারেন?
মাইকসার্ভ

-1

পার্টিশনের আকারের কারণে আপনার প্রয়োজন হতে পারে (পার্টেড কমান্ড):

# /sbin/parted /dev/mmcblk0p1
(parted) mklabel gpt
this disk will be lost. Do you want to continue?
Yes/No? yes
....
(parted) quit

পার্টিশনটি সঠিকভাবে ব্যবহারের জন্য তৈরি হয়েছে তা নিশ্চিত করা /sbin/parted /dev/mmcblk0p1 print”

তারপরে আপনাকে তৈরি করা পার্টিশনটি ফর্ম্যাট করতে হবে

/sbin/mkfs -t correct_type /dev/mmcblk0p1

2
ইতিমধ্যে পার্টিশন করা হয়েছে এমন একটি ডিভাইসটির পার্টিশনে একটি পার্টিশন টেবিল তৈরি করবে partedঅন ব্যবহার করে /dev/mmcblk0p1। এছাড়াও, এই নির্দেশাবলী অনুসরণ করে ডিভাইসের সমস্ত ডেটা মুছে ফেলা হবে
গ্রিমে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.