سلام.
نمیدونم چرا، اما در بسیاری از سایتها برای کپی فایل ISO روی یک فلشمموری و بوتیبل کردن اون از یک دستور ساده dd استفاده میکنن؛ من هم بارها امتحان کردم، اما متاسفانه این راه جواب نمیده. انگار همه از هم کپی و پیست کردن، متاسفانه!
یکبار هم به یک کاربر در این انجمن گفته بودم از دستور dd استفاده کنه، اما خودم امتحان نکرده بودم! (اگرچه بعد از پاسخ، بهسرعت خودم هم امتحان کردم، و بعد پاسخ غلط رو اصلاح کردم) چرا؟ چون به خیال خودم از یک منبع معتبر خونده بودم، مثل Arch Wiki. اما شاید مثال آرچ مربوط به خودش بود و نه توزیع دیگه. اما جالب اینجا است که در ویکی آرچ هم نوشته شده بود «که اگر این روش کار نکرد... از فلان روش استفاده کنید!» اما بعد متوجه شدم، که ممکنه بعضی توزیعها با این روش کار کنند و بعضی نه؛ به این دلیل که یک توزیع میتونه از یک ایزو هایبریدی استفاده کنه، یعنی ایزویی که دارای بوتلودر مخصوص به هارددیسک رو هم در خودش داره. البته این توضیح یک توضیح من درآوردی است!! وقت بیشتر ندارم برای جستجو، به هرحال امیدوارم یکی بیاد و این توضیح رو توضیح بده! یعنی نمیدونم که آیا یک ایزو هایبریدی بوتلودری رو به فرمت ایزو اضافه میکنه، یا اینکه بوتلودر ایزو رو به کل تغییر میده و فقط مناسب هارددیسکها و فلشدرایوها میکنه.
ساختار سیستمفایل یک سیدی با یک هارددیسک متفاوت هست، و bootloader اونها با هم فرق داره. بطور مثال بوتلودر هارددیسک کامپیوترهایی که دارای هسته لینوکس هستند
SYSLINUX هست و برای سیستمفایلهای سیدی ISO 9660 هم ISOLINUX. و به همین دلیل هم هست که نوشتن با dd عمل نمیکنه!
اما راهحل؛ استفاده از برنامه
isohybrid هست که با تغییر در فایلهای ایزو، این سیستمفایل رو آماده کپی روی فلشمموریها و دستگاههای فلش میکنه. یعنی ابتدا باید با دستور isohybrid فایل ایزو رو آماده کنیم و بعد با دستور dd فایل رو روی فلشمموری کپی کنیم.
نکته مهم! من هنوز از این روش استفاده نکردم!! در حقیقت، هیچوقت نخواستم یک توزیع رو از روی یک فلشمموری نصب کنم. اما خوشحال میشم کسی نتیجه رو بگه
نکته! یکبار دیگه با دقت به سوال شما نگاه کردم؛ شما در مثالی که زدید، فایل Ubuntu.iso رو قرار دادید. باید بگم مثال بالا برای بعضی از توزیعها است، و نه توزیعهای محبوب و معروفی مانند اوبونتو، چون این توزیعها بوتلودر هایبریدی دارند. به احتمال زیاد شما دستور رو اشتباه وارد میکنید، یعنی بهجای sdb از sdb1 استفاده کردید؛ اگرچه در سوالتون نوشتید sdb. یکبار دیگه امتحان کنید و دستور را با dev/sdb/ وارد کنید و نه sdb1.