Fråga:
Hur kan jag förhindra att min Pi: s SD-kort skadas så ofta?
user151324
2013-06-15 06:43:36 UTC
view on stackexchange narkive permalink

Jag får ett I / O-fel vid start och får sedan detta 'fel' :( Jag kör den senaste versionen av Raspbian)

  Ange kdb (nuvarande = 0xca82ac80, pid 1) på grund av tangentbordet entrykdb> _  

Och jag har sett det tidigare och förklarades att mitt SD-kort blev skadat eftersom jag inte stängde av korrekt. En vecka senare hanterade jag inte det här felet tills strömmen flimrade till / från tre gånger och nu kan jag inte starta om igen. Det verkar som om jag förbereder mitt SD-kort hela dagen !!! Jag gillar inte det här, för att inte tala om att jag älskar min Pi: s förmågor. Men den här "brytpunkten" gör mig galen! Finns det något sätt att förhindra detta eller stärka något så att det inte händer om strömmen slocknar? Några förslag? Tack!

P.S. Min zip-fil var inte skadad och min extraktionstjänst är Win32DiskImager

Finns ditt kort på [den här listan] (http://elinux.org/RPi_SD_cards)
har du någonsin tänkt på UPS?
@lenik Säger du att jag borde ha något som ett överspänningsskydd?
För att du stänger av saken utan en ordentlig avstängning?
@jippie Ha ha! Nej, jag stänger alltid * ordentligt av efter den händelsen.
@coding_corgi mer sannolikt något med ett batteri inuti, som ger ström i 5-10 minuter efter strömavbrottet, som gör att du kan ignorera korta strömflickor och ger dig tid att stänga av (automatiskt?) Din dator när strömmen går ner under lång tid . Det kallas "Uninterruptable Power Supply" eller kort sagt UPS.
@lenik tack (jag ska titta på det), men hur kan jag ställa in mitt SD-kort för att något sådant ska hända och inte ha ett startfel? Vad orsakar att startfel uppstår?
Jag hade det problemet när jag kopplade in ett USB-tangentbord som brukade mycket ström. Jag slutade använda tangentbordet och det fick jag inte längre.Jag kan dra ut strömmen från PI, starta den dra kraften, starta den 10 gånger och den skadar inte.
@ppumkin Det fanns många hårdvaruproblem som jag spårade, men det jag siktar på är mjukvaruproblem.
Se. Du har för många problem av någon anledning. Det är inte så farligt. Bränn bild, anslut, använd. Jag har två tidiga brädor och de fungerar bara så bra. INTE säker på varför du kämpar. Det måste vara ett skitigt SD-kort.
@ppumkin Hårdvaruproblemen är inte dåliga, de använder inte för mycket ström, och jag * kommer * men en driven hub, men jag har fått min Pi att fungera perfekt (tidigare) efter att ha spårat hårdvaruproblem, men jag har inte hårdvaruproblem längre, jag är 99% säker på det
Elva svar:
lenik
2013-06-19 05:57:53 UTC
view on stackexchange narkive permalink

Jag tänker inte skriva om att kontrollera dina HW och kompatibla SD-kortlistor, för du har troligen redan kontrollerat alla dessa. Vad jag håller på att skriva är den permanenta lösningen, som gör det möjligt att nypa problemet i knoppen och permanent åtgärda problemet.

Om du inte vill ha din SD för att gå sönder när du vrider på strömbrytaren måste du använda det i ett skrivskyddat läge. Om inget skrivs på ditt SD-kort kommer det inte att skadas oavsett vad du gör.

Självklart (men inte fungerande) lösning skulle vara ett försök att vända "skrivskyddad" på sidan av SD-kortet, tyvärr fungerar det inte eftersom schemat visar att denna omkopplare är dirigerad ingenstans och dess position ignoreras i allmänhet.

En annan, mer subtil (men fungerande) metod skulle vara att ändra din / etc / fstab för att montera alla dina partitioner skrivskyddade. Nackdelen med detta tillvägagångssätt är att dina loggar måste skrivas någon annanstans (USB-minne, RAM-enhet?) Och i händelse av RAM-enhet kommer loggarna inte att bestå under omstart. För att göra detta:

  1. Kopiera en RPi-bild till ditt SD-kort med vilken metod du vill.
  2. Starta från SD och raspi-config kommer att starta automatiskt. "Expandera inte filsystem", ställ bara in din tidszon och internationella inställningar.
  3. Kör sudo fdisk / dev / mmcblk0 , tryck 'p' för att skriva ut den aktuella partitionstabell. Ange sedan följande kommandon:

      n Skapa en ny partition [enter] Skapa en primär partition [enter] Använd standardnumret [#] 1 större än slutet av mmcblk0p2 [enter] Expandera till slutet av SD-kortetw Skriv partitionstabellen och avsluta  
  4. Redigera / etc / fstab . Det ska se ut som följande:

      proc / proc proc standard 0 0 / dev / mmcblk0p1 / boot vfat ro 0 0 / dev / mmcblk0p2 / ext4 ro 0 0 / dev / mmcblk0p3 / home ext4-standardvärden, fel = remount-ro 0 1
    none / var / run ramfs size = 1M 0 0 ingen / var / log ramfs size = 1M 0 0  
  5. Kör sudo partprobe till känna igen den nya partitionen.

  6. Formatera din nya partition med sudo mkfs --typ ext4 /dev/mmcblk0p3 .
  7. Restart.

Om du av någon anledning behöver göra ändringar i ditt system kan du återmontera de skrivskyddade partitionerna med skrivåtkomst:

  sudo mount -o remount, rw / dev / mmcblk0p2  
Vänta, jag * kan inte * skriva till mitt SD-kort om jag gör det här? Eller * endast * vid start?
@coding_corgi Detta borde sluta skriva till SD-kortet helt.
varför behöver du skriva till ditt SD-kort? skriva till SD + avstängning = FS-skada, du kan använda USB-minne eller skapa en separat partition på SD-kort om du behöver spara lite data. i det här fallet kommer åtminstone ditt system att komma igång och sedan kan du kontrollera dina data för eventuell korruption.
@anorton detta stoppar skrivåtkomst till de två första partitionerna på SD-kort, men ingen säger att du inte kan skapa en annan partition eller använda olika media för att spara data. till exempel, skrivskyddad RasPi som skriver data över nätverket - kan vara en mycket tillförlitlig lösning.
@lenik Tja, jag tror verkligen inte att jag skulle vilja sluta skriva till SD-kortet helt, kan jag ha en annan partion eller något ?!
@coding_corgi säker, skapa `/ dev / mmcblk0p3` och låt det vara skriv-skriv, men det kan vara en bra idé att inte montera det automatiskt, men kör några skript och kontrollera om allt är bra innan du faktiskt kommer åt det.
@lenik Men jag har `/ dev / mmcblk0p2` med är inte `/ dev / mmcblk0p1` som jag startar av, eller hur?
@coding_corgi är inte säker på din specifika layout, men vanligtvis är p1 startpartitionen, p2 är rotpartitionen (där ditt system finns) och du behöver båda för en lyckad systemstart. på grund av ovan angivna skäl är både p1 och p2 mycket bättre att vara skrivskyddade, och om du vill ha någon plats att skriva dina data till kan du skapa p3 (använd 'fdisk' eller något) och behåll dina data där .
Jag skriver till mitt SD-kort videodata från raspi cam och det dog så många gånger! Inte en gång hade jag några problem med att starta, dra ut kabeln eller systemkrasch. Skrivskydd är bra för produktion när du pluggar och spelar. Det här problemet borde inte inträffa under utvecklingen på något sätt - jag misstänker att även skrivskydd kommer att förstöra hans data eftersom något händer på en högre nivå än kärnan klarar.
@lenik Tja okej, men om jag har `/ dev / mmcblk0p3` kommer jag att ha min` ~ 'katalog? Så som att jag kan skriva / läsa för det etc.? Och kan jag skriva till katalogen `/` också?
@coding_corgi kan du montera '/ dev / mmcblk0p3' till `/ home 'och ha din' ~ 'katalog helt bra. Att skriva till `/` trotsar syftet, om strömmen plötsligt går ner får du en trasig systembild.
@lenik Kan vi fortsätta denna diskussion i chatt (* The Bakery *)?
@lenik okej, det här är * The Bakery *: http://chat.stackexchange.com/rooms/3748/the-bakery
Jag är i en liknande situation och kämpar för närvarande med hjälp av en av raspi forummods - jag kommer att skicka om något hjälper.
@lenik Kan du förklara för mig vad jag måste göra via chatt: http://chat.stackexchange.com/rooms/3748/the-bakery
@coding_corgi vänta, du skriver ofta (dvs. skapar och tar bort filer) till `/` ??? Gör inte det. Det betyder att du ofta skriver till katalogblocket för `/`, blocket som innehåller viktiga katalogdata för att ha ett fungerande filsystem - och minnescellerna på SD-kort har begränsade skrivcykler. Använd en underkatalog i `/ tmp` eller din hemkatalog. I så fall är det mer troligt att du skadar någon del av SD-kortet som inte används av startprocessen. På det sättet kan du fortfarande starta upp systemet när några block på SD-kortet dog och återställa åtminstone en del av data.
@maligree Tja ... Jag verkar ha lagt något speciellt i denna blandning på mitt SD-kort av någon anledning kopplade jag av misstag ur min Pi! Men det startade fortfarande !!! Hur som helst, hur kan jag experimentera etc.?
-1
@coding_corgi se uppdatering
@lenik kan jag installera säga mysql och få den installerad på en extern enhet?
@coding_corgi-binärer och bibliotek bör gå till systempartitionen, men de faktiska databaserna där du skriver och läser data kan finnas på den externa enheten eller, som jag skrev, på den extra SD-kortpartitionen
@lenik så jag ska installera mysql på huvud-SD-kortet, etc.?
@coding_corgi du ska göra `sudo apt-get update && sudo apt-get upgrade 'och installera allt du behöver med` sudo apt-get install [package_name] `innan du inaktiverar skrivåtkomst
@lenik så jag behöver utöka mitt SD-kort?
Vilken Linux-låda rekommenderar du?
"Linux-box" betydde bara vilken dator som helst som kör Linux. vilken dator som helst, vilken smak som helst av Linux.
Du kan också göra en partition `/ srv` och lägga all din serverinformation där, som databaser för MySQL och webbläsare etc. Sedan installerar du bara den` rw` och du är ok för servrar också. (syftet med `/ srv` är att lagra serverdata i kataloger under den, liek` / srv / mysql` och sedan konfigurera MySQL att använda det istället för någon katalog under `/ var /`. Du kan sätta `/ srv / `på en USB-hårddisk, USB-minne eller på en annan partition på SD: kort som du gjorde med` / home`.
@lenik vilket system har `mkfs` som stöder argumentet` -typ` istället för `--type`?
@Brad ledsen, jag är AFK ATM, men google: "man mkfs" ger [detta] (http://linux.die.net/man/8/mkfs) och det står om singel "-typ". kommer dock att kontrollera senare. tack!
lenik: @bradjc5's-ändringar var korrekta. Din länk visar endast den korta formen (-t) som är en enda streck, men eftersom du använde den långa formen i ditt kommando (--type) behöver du båda streck. Se en mer komplett man-sida här: http://man7.org/linux/man-pages/man8/mkfs.8.html
Jag har en extern hårdvaruklocka och har alla slags klockproblem när jag kör RPi med skrivskyddade enheter, så jag började leta och hittade webbplatsen nedan med alla slags förslag angående montering av filsystem i skrivskydd inklusive justeringstid och andra: https: //wiki.debian.org/ReadonlyRoot
Moderna versioner av `raspi-config` erbjuder en liknande skrivskyddad overlayFS-funktionalitet direkt! "sudo raspi-config", gå till "Avancerade alternativ" och aktivera sedan funktionen "Overlay FS: Aktivera / inaktivera skrivskyddad filsystem". (Jag skulle lägga till detta som ett svar, men jag har inte tillräckligt med rykte än.)
lauhub
2013-12-11 20:45:15 UTC
view on stackexchange narkive permalink

Edit

IPE-hemsidan verkar inte vara mer tillgänglig.

Den ska inte användas eftersom den verkar inte underhållas längre.

Här finns en länk till gamla IPE-hemsidan på web.archive.org

Gammalt inlägg

Beroende på vad du använder din RPi för , du kanske är intresserad av IPE, vilket är en "mörkläggningssäker smak av Raspbian".

Jag planerar att använda den för att starta min RPi. Om jag behöver data för att skrivas kommer jag att använda en USB-enhet som jag ska montera endast (jag föredrar att min SD är säker och att en USB-enhet är skadad än att behöva reparera min SD)

Se IPE-hemsida

Som anges där, "Använd också" ipe-rw "och" ipe-ro "för att växla rotfilsystemet till skrivbart eller skrivskyddat läge."

Denna [IPE-hemsida] (http://nutcom.hu/?page_id=108) ger en tom sida.
Tack för informationen. Tyvärr verkar det inte bibehållas längre. Jag redigerade mitt svar därefter
Alexander
2015-05-23 17:40:16 UTC
view on stackexchange narkive permalink

Jag använder UPS Pico, en specialdesignad UPS för Raspberry Pi och har aldrig haft sådana problem.

Ace
2014-02-19 11:51:18 UTC
view on stackexchange narkive permalink

Jag har löst problemet genom att använda ett USB-minne för mina huvudpartitioner.

  1. Återställ raspbian-bilden till en USB-enhet

  2. Formatera ett SD-kort till fett

  3. Kopiera innehållet i fettpartitionen från USB-enheten till SD-kortet

  4. Ändra konfiguration .txt på sd-kort för att starta från / dev / sda

I huvudsak startar rpi fortfarande från SD-kortet, men använder USB-enheten för operativsystemet och läser / skriver.

jitter
2013-06-18 01:42:49 UTC
view on stackexchange narkive permalink

se till att din RPi körs med standardhastigheterna (dvs. CPU vid 700mhz). personligen stötte jag på lagringsskador med olika SD-kort - men bara när jag kör över dygnet. tyvärr har vissa distributioner (bilder) tvivelaktiga inställningar i config.txt.

Jag har inte överklockat min CPU, tack dock
prova en annan RPi för att utesluta chansen att din på något sätt är bristfällig eller till och med trasig
Jag har bara en
du kan få slut på alternativ och begära en RMA ..
RMA? Vad är det?
det får [reparation eller utbyte] (http://en.wikipedia.org/wiki/Return_merchandise_authorization)
Min Pi fungerar bra, men jag vill ta reda på varför det inte gjorde tidigare
higuita
2013-06-21 18:44:59 UTC
view on stackexchange narkive permalink

Bara för att täcka hela marken, kontrollera också om din strömförsörjning är tillräckligt bra. prova en annan laddare eller anslut RPI till en PC-USB-port för att testa den. Kom ihåg att den rekommenderade RPI-tillförseln är ungefär 700 mA, men vissa svaga laddare kanske inte klarar detta på stabila nivåer.

Jag hade en router som började fungera galen i några dagar, sedan gick ok och sedan blev galen igen och senare bra igen ... jag upptäckte att strömförsörjningen gav ut spänningen (3V till 5,5V) när routern var galen. Ersatt att leveransen med en ny allt är bra. Så försök byta ut strömförsörjningen och mät utspänningen.

Stäng slutligen av RPI genom att stänga av operativsystemet och koppla bara ur RPI när du bara fick en röd ledning. RPI stängs egentligen inte av om du har annat än en röd led. Försök också undvika att koppla bort RPI genom att ta bort strömförsörjningen från kontakten. Det är bättre att ta bort strömmen från RPI och först efter att du har tagit bort strömförsörjningen från kontakten.

Nej, jag har en stadig 5.1V @ 2100 A, och jag stänger alltid * ordentligt av
Almas Dusal
2019-09-13 08:53:33 UTC
view on stackexchange narkive permalink

Om din Raspberry Pi är frusen kan du inte stänga av korrekt, då hjälper det. Jag var sönder mina få SD-kort innan jag visste detta:

Håll ner Alt + PrintScreen, och medan du håller ned dessa tangenter, tryck följande tangenter i följd, en i taget, med några sekunders paus mellan dem .

Alt + PrintScreen + R E I S U O

eller

Alt + PrintScreen + R E I S U B (omstart)

Ett praktiskt minnesmärke att komma ihåg det är, Starta om även om systemet är helt trasigt.

Ersätt "O" för "B" för att stänga av systemet istället för att starta om (O = av, B = start).

Källa: https://www.raspberrypi.org/forums/viewtopic.php?t=176612#p1126262

Piotr Kula
2013-06-17 20:27:09 UTC
view on stackexchange narkive permalink

Såsom finns på Linux-webbplatsen. Jag valde bara vad som gäller för din situation men besök dem för mer information ...

  • Om du har problem, kontrollera att du har den senaste firmwareversionen med rpi-uppdatering
  • Vissa SD-kort fungerar inte på R-Pi, så kolla listan över kända SD-kort.
  • Om du har problem med att ställa in ditt SD-kort kanske du vill börja med att radera det helt - speciellt om det har använts någon annanstans och fortfarande innehåller data / partitioner. Det är bra att göra ett FULLT (låg nivå) format på något sätt eftersom det ibland kan hitta dåliga sektorer och lägga till dem i en ignoreringslista.
    • Windows- och Mac-användare kan ladda ner ett formateringsverktyg från SD Association: https://www.sdcard.org/downloads/formatter_3/
    • Omformatering av kort är också enkelt att göra i en digitalkamera.
    • Om du är manuellt förbereder ditt SD-kort på Linux eller Mac OS med kommandot dd, kommer den här åtgärden att helt radera alla befintliga data och partitioner. Se till att du skriver till hela kortet (t.ex. / dev / sdd) och inte till en befintlig partition (t.ex. /dev/sdd1).
  • Om du har ett SD-kort som fungerar inte med den senaste firmware, huvudet här.
  • Se till att du har en bra strömförsörjning. Försök koppla ur allt och se hur länge det varar. Anslut objekt igen i en och en för att testa stabiliteten.

Om du har följt alla dessa steg är det enda möjliga att försöka använda ett annat SD-kort som är noggrant utvalt från den kompatibla listan. . Se också till att köpa originalkort från en betrodd plats. Inte som ebay porslin eller något.

Jag använde 3 sd-kort i processen (alla stöds) en SanDisk, en Kingston och en Lexar, jag * ställer inte heller in mitt SD-kort manuellt, jag använde Win32DiskImager efter att ha testat Ubuntu och Mac OS X.
Det är konstigt att det att få din FS att läsa bara fixade det. Du av miljontals människor har det här problemet. Kanske har du lite skräp / virus som förstör ditt filsystem. Readonly root är en smärta i röven ... vänta och se.
tack, något konstigt pågår, definitivt inte ett virus men ...
mcobit
2013-09-06 00:57:42 UTC
view on stackexchange narkive permalink

Jag har liknande problem på ett pi från RS Components. Detta är en av de pis som gjorts på Kina. En annan tillverkad i Storbritannien från Element 14 hade aldrig korruption med samma SD-kort och strömförsörjning. Kan vara något Hardwareflaw med enheterna för ra-komponenter. Inte säker på det förstås, men allt verkar peka i den riktningen.

Gotschi
2013-12-11 21:15:22 UTC
view on stackexchange narkive permalink

Jag har också upplevt SD-fel med min PI, ibland fem dagar i rad, ibland fungerar det i en månad.

Det enda sättet jag kunde få det att köra pålitligt i mer än ett år nu är att starta från ett USB-minne. På det här sättet använder du inte ditt SD-kort (endast vid start) och behöver bara cirka 500 MB SD-kort (billigt) och ett USB-minne.

dirkk0
2015-02-14 20:41:05 UTC
view on stackexchange narkive permalink

Jag följde en antydan om att du kan göra synkronisering innan avstängning, och hittills lyckades jag med detta kommando:

  synk; sudo shutdown -t 9 -r nu  
Har du fortfarande problem med hallon med ovanstående lösning?
Jag hade inga problem längre - men jag erkänner att jag tenderar att hellre lämna pi på, istället för att stänga av den. Men min gissning är att jag skit ner det över femtio gånger med ovanstående rad, och det misslyckades inte en gång sedan dess. Så från den statistiken - det fungerar.
Jag tror inte att detta kommer att lösa problemet. När du kör en kontrollerad avstängning ska ingen skada inträffa på ditt SD-kort genom design. Korruption verkar hända mestadels i fall där enheten helt enkelt är urkopplad (eller strömavbrott inträffar) som inte är relaterad till kommandona `synkronisering` eller` avstängning` såvida du inte kör `synkronisering 'omedelbart före (oväntad!) Koppling som verkar omöjlig .


Denna fråga och svar översattes automatiskt från det engelska språket.Det ursprungliga innehållet finns tillgängligt på stackexchange, vilket vi tackar för cc by-sa 3.0-licensen som det distribueras under.
Loading...