IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

écriture fichier iso sur disque dur


Sujet :

Langage Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 9
    Par défaut écriture fichier iso sur disque dur
    Bonjour à tous!

    Je dois réaliser une application pour initialiser un disque dur SATA avec un une image système au format ISO.
    Je pensai faire ça en java afin de m'assurer de la compatibilité avec une majorité d'OS.

    Pensez-vous que cela est réalisable en java? Y a-t-il des API pour les gestion des ISO? du SATA?

    Merci

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 587
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 587
    Par défaut
    Faudrait être plus clair sur ce que tu veux faire :

    - ISO n'est pas un format de système de fichier très adapté aux disques durs. Ni à quoi que ce soit qui est en lecture/écriture d'ailleurs.
    - Que ça soit SATA ou autre chose n'est pas censé être ton problème. Tu vois un disque dur ou un lecteur inscriptible, tu écris dedans.
    - Tu veux une compatibilité maximale des OS... Mais aucun n'arrivera facilement à lire un disque dur en ISO. Un freenux ou un MacOS, c'est possible avec un peu de bidouille. Un Windows, c'est possible avec beaucoup de programmation de drivers de système de fichier.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 9
    Par défaut
    C'est un peu ce que je pensais pour l'iso.
    Le plus simple serait que j'ai les fichiers et que je copie en "raw" sur le disque. Le truc c'est que les disques doivent être formaté en ext3 et donc sur windows c'est la merde.
    Mon but était de copier brutalement l'iso sur le disque sans me soucier du file system.

    Ca sent le poisson pané on dirait!

    Merci pour ta réponse si rapide.

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    si tu prend une image (raw) du système, cellle-ci incluera son système de fichier, donc ca ne te posera pas de gros problème de ce point de vue. Siffit de faire une copie de bit à bit depuis l'image vers la partoche destination. Tes problèmes seront plutot:

    -> comment créer la partition (sans nécessairement y définir un système de fichier)
    -> comment accéder en raw à la partition destination.

    Et là tu va devoir faire des traitement différenciés suivant l'os. Sous linux, par exemple, tu pourra invoquer fdisk pour créer la partition et utiliser /dev/sd[a-z][1-9] pour écrire dessus (sous réserve des droits ad-hoc). Sous windows pas la moindre idée.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Heu, ça sert à quoi de copier en "raw" sur le disque ?
    Si tu te plantes dans ton programmes, tu plantes ton disque (supair).

    Je ne vois pas trop où est le problème d'écrire tes données binaires directement dans un fichier... :/
    Juste pour info, je crois que Java gère le zip nativement.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 9
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    si tu prend une image (raw) du système, cellle-ci incluera son système de fichier, donc ca ne te posera pas de gros problème de ce point de vue. Siffit de faire une copie de bit à bit depuis l'image vers la partoche destination. Tes problèmes seront plutot:

    -> comment créer la partition (sans nécessairement y définir un système de fichier)
    -> comment accéder en raw à la partition destination.

    Et là tu va devoir faire des traitement différenciés suivant l'os. Sous linux, par exemple, tu pourra invoquer fdisk pour créer la partition et utiliser /dev/sd[a-z][1-9] pour écrire dessus (sous réserve des droits ad-hoc). Sous windows pas la moindre idée.
    La meilleur solution serait donc d'avoir une image intégrale du disque (avec table des partitions) et de faire une duplication bête et méchante??

    Citation Envoyé par tchize_ Voir le message
    Heu, ça sert à quoi de copier en "raw" sur le disque ?
    Si tu te plantes dans ton programmes, tu plantes ton disque (supair).

    Je ne vois pas trop où est le problème d'écrire tes données binaires directement dans un fichier... :/
    Juste pour info, je crois que Java gère le zip nativement.
    Le but c'est de pourvoir générer massivement des disques durs identiques. Si il y a une erreur d'écriture je traiterai au cas pas cas.
    Après le problème d'écrire des fichiers binaires c'est que le file system (ext3 ici) n'est pas géré par windows, et cette application doit tourner sous windows...
    Tu penses à quoi pour le zip?

  7. #7
    Invité
    Invité(e)
    Par défaut
    Ha !
    Si tu veux générer de nombreux disques dur identiques, tout dépend de ce que tu entends par "identique".
    Si c'est au niveau des bits sur le disque, c'est "bas niveau", donc difficilement réalisable en Java.
    Si tu touches aux partitions, c'est aussi "bas niveau".
    Si c'est juste les fichiers, pas de problèmes.

    Pour l'histoire du zip, j'avais mal compris ton problème (je croyais que tu voulais juste sauver des données)

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 9
    Par défaut
    C'est véritablement identique "bit à bit".

    Je sais bien que java est pas fait pour la gestion bas niveau, mais bon je me disais que peut-être en passant par une copie d'un golden HDD ça serait faisable.
    Apparemment non!

    Pas grave je trouverai autre chose.

    Merci à tous pour vos réponses

  9. #9
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    si les disques sont physiquement identiques (même taille), alors fait une copie intégrale de ses bits (tu met le disque maitre sur un slot sata, et le(s) destination(s) sur d'autres slots). Maintenant, en java, comme je l'ai dit, tout dépendra de ton OS. Si t'es sous linux, il suffira de faire une copie bit à bit, par exemple de /dev/sda vers /dev/sdb (en ayant les droits, bien sur) pour copier intégralement le disque 1 sur le disque 2. Sous windows, je ne sais pas si ce genre de facilité existe.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 9
    Par défaut
    Cette opération était jusqu'à maintenant effectuée de cette manière, mais pour gagner du temps, je dois faire ça sur plusieurs disques en parallèle (avec une carte fille RAID en mode clone).
    La majorité des PC étant sous windows, je dois m'adapter.

    Ca sent la morue pour moi!!

  11. #11
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    pour les accès direct, tu pourrais peut être déléguer à cette petite application

    http://www.chrysocome.net/dd


    Ainsi, tu aurais juste à détecter l'OS. Si c'est du windows, tu invoque cette petite application (que tu peux embarquer avec ton installeur) et sous linux tu lancerais le dd du système.

  12. #12
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 156
    Par défaut
    Une question que je me pause, c'est pourquoi tu as besoin de la compatibilité entre différentes plateformes. Lorsque tu fait cette opération tu peut très bien être sur gnu/linux ( cd bootable par exemple )

    Personellement pour créer des iso je regarderais du coté de mkisofs il a été porté aussi bien sous windows que sous linux, il en va de même pour cdrecord.

    Si tu compte faire des images en raw, il se peut que tu es quelques problèmes pour les compresser : les espaces non allouées contiennent aussi des données.

    Si tu veux copier le système de fichier en copiant les permissions ( ce qui est souvent indispensable si tu veux que ça fonctionne ), tu devras utiliser java 1.7

Discussions similaires

  1. Tranfert d'un fichier image sur disque dur externe
    Par jp_developpeur dans le forum Windows XP
    Réponses: 6
    Dernier message: 27/08/2009, 09h29
  2. Impression fichier enregistré sur disque dur.
    Par Kramelix dans le forum VB.NET
    Réponses: 3
    Dernier message: 21/11/2007, 15h34
  3. [Applet] Effacer le contenu d'un fichier texte sur disque dur
    Par poulette3000 dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 31/07/2007, 09h39
  4. [2.0.0.0] Import depuis un fichier eml sur disque dur
    Par Eusebius dans le forum Thunderbird
    Réponses: 1
    Dernier message: 22/05/2007, 10h54
  5. Réponses: 4
    Dernier message: 18/01/2006, 09h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo